ruby-changes:16546
From: akr <ko1@a...>
Date: Sun, 4 Jul 2010 21:02:08 +0900 (JST)
Subject: [ruby-changes:16546] Ruby:r28538 (trunk): * test/ruby/test_system.rb (test_syntax2): moved from sample/test.rb
akr 2010-07-04 21:01:46 +0900 (Sun, 04 Jul 2010) New Revision: 28538 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28538 Log: * test/ruby/test_system.rb (test_syntax2): moved from sample/test.rb [ruby-dev:41721] Modified files: trunk/ChangeLog trunk/sample/test.rb trunk/test/ruby/test_system.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 28537) +++ ChangeLog (revision 28538) @@ -1,3 +1,8 @@ +Sun Jul 4 21:00:39 2010 Tanaka Akira <akr@f...> + + * test/ruby/test_system.rb (test_syntax2): moved from sample/test.rb + [ruby-dev:41721] + Sun Jul 4 17:13:14 2010 Nobuyoshi Nakada <nobu@r...> * io.c (swallow, prepare_getline_args, rb_io_getline_1): fix for Index: sample/test.rb =================================================================== --- sample/test.rb (revision 28537) +++ sample/test.rb (revision 28538) @@ -1921,34 +1921,6 @@ File.unlink "script_tmp" or `/bin/rm -f "script_tmp"` File.unlink "script_tmp.bak" or `/bin/rm -f "script_tmp.bak"` -$bad = false -if (dir = File.dirname(File.dirname(__FILE__))) == '.' - dir = "" -else - dir << "/" -end - -def valid_syntax?(code, fname) - p fname - code = code.dup.force_encoding("ascii-8bit") - code.sub!(/\A(?:\xef\xbb\xbf)?(\s*\#.*$)*(\n)?/n) { - "#$&#{"\n" if $1 && !$2}BEGIN{throw tag, :ok}\n" - } - code.force_encoding("us-ascii") - catch {|tag| eval(code, binding, fname, 0)} -rescue Exception - STDERR.puts $!.message - false -end - -for script in Dir["#{dir}{lib,sample,ext,test}/**/*.rb"].sort - unless valid_syntax? IO::read(script), script - STDERR.puts script - $bad = true - end -end -test_ok(!$bad) - test_check "const" TEST1 = 1 TEST2 = 2 Index: test/ruby/test_system.rb =================================================================== --- test/ruby/test_system.rb (revision 28537) +++ test/ruby/test_system.rb (revision 28538) @@ -14,6 +14,19 @@ false end + def valid_syntax2?(code, fname) + p fname + code = code.dup.force_encoding("ascii-8bit") + code.sub!(/\A(?:\xef\xbb\xbf)?(\s*\#.*$)*(\n)?/n) { + "#$&#{"\n" if $1 && !$2}BEGIN{throw tag, :ok}\n" + } + code.force_encoding("us-ascii") + catch {|tag| eval(code, binding, fname, 0)} + rescue Exception + STDERR.puts $!.message + false + end + def test_system ruby = EnvUtil.rubybin assert_equal("foobar\n", `echo foobar`) @@ -107,6 +120,20 @@ end end + def test_syntax2 + if (dir = File.dirname(File.dirname(File.dirname(__FILE__)))) == '.' + dir = "" + else + dir << "/" + end + for script in Dir["#{dir}{lib,sample,ext,test}/**/*.rb"].sort + unless valid_syntax2? IO::read(script), script + STDERR.puts script + flunk("syntax error: #{script}") + end + end + end + def test_empty_evstr assert_equal("", eval('"#{}"', nil, __FILE__, __LINE__), "[ruby-dev:25113]") end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/