diff --git a/ChangeLog b/ChangeLog
index 6792384973..2a4142e08d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Feb 25 19:35:48 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
+
+	* sample/test.rb (system): test with scripts under the source
+	  directory.
+
 Mon Feb 25 15:14:01 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
 
 	* eval.c (method_inspect): should not dump core for unbound
diff --git a/sample/test.rb b/sample/test.rb
index 70cd79e9b2..30319c385e 100644
--- a/sample/test.rb
+++ b/sample/test.rb
@@ -1191,7 +1191,12 @@ File.unlink "script_tmp" or `/bin/rm -f "script_tmp"`
 File.unlink "script_tmp.bak" or `/bin/rm -f "script_tmp.bak"`
 
 $bad = false
-for script in Dir["{lib,sample,ext}/**/*.rb"]
+if (dir = File.dirname(File.dirname(dir))) == '.'
+  dir = ""
+else
+  dir << "/"
+end
+for script in Dir["#{dir}{lib,sample,ext}/**/*.rb"]
   `./miniruby -c #{script}`
   unless $?
     $bad = true