From: "usa (Usaku NAKAMURA)" Date: 2012-10-12T16:56:10+09:00 Subject: [ruby-core:47938] [ruby-trunk - Bug #7140][Assigned] TestWEBrickCGI#test_cgi fails on Windows with chcp 437 Issue #7140 has been updated by usa (Usaku NAKAMURA). Status changed from Open to Assigned I can't make the decision to change the encoding of ENV now. In future version -- 3.0? -- we will be able to change it. So, we should make a work around by changing test. Please commit it. ---------------------------------------- Bug #7140: TestWEBrickCGI#test_cgi fails on Windows with chcp 437 https://bugs.ruby-lang.org/issues/7140#change-30385 Author: h.shirosaki (Hiroshi Shirosaki) Status: Assigned Priority: Normal Assignee: usa (Usaku NAKAMURA) Category: Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-10-09 trunk 37127) [i386-mingw32] =begin Webrick test fails with chcp 437 on Windows mingw reported by Jon. https://gist.github.com/3859711#gistcomment-585563 C:\Jenkins\workspace>chcp 437 Active code page: 437 C:\Jenkins\workspace>ruby -I ruby-trunk-svn\test\webrick ruby-trunk-svn\test\webrick\test_cgi.rb Run options: # Running tests: [4/4] TestWEBrickCGI#test_cgi = 1.22 s 1) Failure: test_cgi(TestWEBrickCGI) [ruby-trunk-svn/test/webrick/test_cgi.rb:41]: webrick log start: [2012-10-10 20:42:33] INFO WEBrick 1.3.1 [2012-10-10 20:42:33] INFO ruby 2.0.0 (2012-10-09) [i386-mingw32] [2012-10-10 20:42:33] INFO WEBrick::HTTPServer#start: pid=1620 port=50961 webrick log end. "/\xA4\xDB\xA4\xB2/\xA4\xDB\xA4\xB2" expected but was "/\xC2\xA4\xC3\x9B\xC2\xA4\xC2\xB2/\xC2\xA4\xC3\x9B\xC2\xA4\xC2\xB2". Finished tests in 1.578090s, 2.5347 tests/s, 11.4062 assertions/s. 4 tests, 18 assertions, 1 failures, 0 errors, 0 skips ruby -v: ruby 2.0.0dev (2012-10-09 trunk 37127) [i386-mingw32] This is due to ENV[] returns different value with chcp 437. Test on my machine with chcp 437. sh-3.1$ ./miniruby -e 'ENV["a"] = "/\xA4\xDB\xA4\xB2/\xA4\xDB\xA4\xB2"; p ENV["a"]' "/\xEF\xBD\xA4\xEF\xBE\x9B\xEF\xBD\xA4\xEF\xBD\xB2/\xEF\xBD\xA4\xEF\xBE\x9B\xEF\xBD\xA4\xEF\xBD\xB2" This spec seems to be changed by #5570 (r35030). If I changed ENV not to use UTF-8 conversion like the following patch, the test didn't fail. https://gist.github.com/3859711#file_fix_env_encoding.patch But the patch would break #5570 fix since the filesystem encoding is forced upon environment variables. So far I don't know fixes to pass the test and support #5570. Are there any good ways? I would suggest to skip the test if locale encoding is not proper on Windows. Here is a patch. https://gist.github.com/3869593 =end -- http://bugs.ruby-lang.org/