summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2012-06-02 18:36:23 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2012-06-02 18:36:23 +0000
commitba25d27e3ade01f0bb9fb4dee960caea823e81ca (patch)
treeb7588904efdb15f11d65fe99ee2e00e25614bf8a
parent69b46ab1bedd7b6791d647c93bba597428aaa8b7 (diff)
downloadredmine-ba25d27e3ade01f0bb9fb4dee960caea823e81ca.tar.gz
redmine-ba25d27e3ade01f0bb9fb4dee960caea823e81ca.zip
scm: git: skip Latin-1 path tests on Git for Windows above 1.7.10
Git for Windows (msysGit) changed internal API from ANSI to Unicode in 1.7.10. http://code.google.com/p/msysgit/issues/detail?id=80 So, Latin-1 path tests fail on Japanese Windows git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9750 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--test/functional/repositories_git_controller_test.rb14
-rw-r--r--test/unit/lib/redmine/scm/adapters/git_adapter_test.rb12
-rw-r--r--test/unit/repository_git_test.rb14
3 files changed, 32 insertions, 8 deletions
diff --git a/test/functional/repositories_git_controller_test.rb b/test/functional/repositories_git_controller_test.rb
index a95a208b8..aba68b1ee 100644
--- a/test/functional/repositories_git_controller_test.rb
+++ b/test/functional/repositories_git_controller_test.rb
@@ -29,6 +29,16 @@ class RepositoriesGitControllerTest < ActionController::TestCase
CHAR_1_HEX = "\xc3\x9c"
NUM_REV = 28
+ ## Ruby uses ANSI api to fork a process on Windows.
+ ## Japanese Shift_JIS and Traditional Chinese Big5 have 0x5c(backslash) problem
+ ## and these are incompatible with ASCII.
+ ## Git for Windows (msysGit) changed internal API from ANSI to Unicode in 1.7.10
+ ## http://code.google.com/p/msysgit/issues/detail?id=80
+ ## So, Latin-1 path tests fail on Japanese Windows
+ WINDOWS_PASS = (Redmine::Platform.mswin? &&
+ Redmine::Scm::Adapters::GitAdapter.client_version_above?([1, 7, 10]))
+ WINDOWS_SKIP_STR = "TODO: This test fails in Git for Windows above 1.7.10"
+
## Git, Mercurial and CVS path encodings are binary.
## Subversion supports URL encoding for path.
## Redmine Mercurial adapter and extension use URL encoding.
@@ -214,6 +224,8 @@ class RepositoriesGitControllerTest < ActionController::TestCase
def test_entry_show_latin_1
if @ruby19_non_utf8_pass
puts_ruby19_non_utf8_pass()
+ elsif WINDOWS_PASS
+ puts WINDOWS_SKIP_STR
elsif JRUBY_SKIP
puts JRUBY_SKIP_STR
else
@@ -435,6 +447,8 @@ class RepositoriesGitControllerTest < ActionController::TestCase
def test_annotate_latin_1
if @ruby19_non_utf8_pass
puts_ruby19_non_utf8_pass()
+ elsif WINDOWS_PASS
+ puts WINDOWS_SKIP_STR
elsif JRUBY_SKIP
puts JRUBY_SKIP_STR
else
diff --git a/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb b/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb
index c5353457e..50100d1ff 100644
--- a/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb
+++ b/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb
@@ -13,8 +13,12 @@ begin
## Ruby uses ANSI api to fork a process on Windows.
## Japanese Shift_JIS and Traditional Chinese Big5 have 0x5c(backslash) problem
## and these are incompatible with ASCII.
- # WINDOWS_PASS = Redmine::Platform.mswin?
- WINDOWS_PASS = false
+ ## Git for Windows (msysGit) changed internal API from ANSI to Unicode in 1.7.10
+ ## http://code.google.com/p/msysgit/issues/detail?id=80
+ ## So, Latin-1 path tests fail on Japanese Windows
+ WINDOWS_PASS = (Redmine::Platform.mswin? &&
+ Redmine::Scm::Adapters::GitAdapter.client_version_above?([1, 7, 10]))
+ WINDOWS_SKIP_STR = "TODO: This test fails in Git for Windows above 1.7.10"
## Git, Mercurial and CVS path encodings are binary.
## Subversion supports URL encoding for path.
@@ -391,7 +395,7 @@ begin
def test_latin_1_path
if WINDOWS_PASS
- #
+ puts WINDOWS_SKIP_STR
elsif JRUBY_SKIP
puts JRUBY_SKIP_STR
else
@@ -453,7 +457,7 @@ begin
def test_entries_latin_1_dir
if WINDOWS_PASS
- #
+ puts WINDOWS_SKIP_STR
elsif JRUBY_SKIP
puts JRUBY_SKIP_STR
else
diff --git a/test/unit/repository_git_test.rb b/test/unit/repository_git_test.rb
index dee11ed18..d4d0e8c1a 100644
--- a/test/unit/repository_git_test.rb
+++ b/test/unit/repository_git_test.rb
@@ -34,8 +34,12 @@ class RepositoryGitTest < ActiveSupport::TestCase
## Ruby uses ANSI api to fork a process on Windows.
## Japanese Shift_JIS and Traditional Chinese Big5 have 0x5c(backslash) problem
## and these are incompatible with ASCII.
- # WINDOWS_PASS = Redmine::Platform.mswin?
- WINDOWS_PASS = false
+ ## Git for Windows (msysGit) changed internal API from ANSI to Unicode in 1.7.10
+ ## http://code.google.com/p/msysgit/issues/detail?id=80
+ ## So, Latin-1 path tests fail on Japanese Windows
+ WINDOWS_PASS = (Redmine::Platform.mswin? &&
+ Redmine::Scm::Adapters::GitAdapter.client_version_above?([1, 7, 10]))
+ WINDOWS_SKIP_STR = "TODO: This test fails in Git for Windows above 1.7.10"
## Git, Mercurial and CVS path encodings are binary.
## Subversion supports URL encoding for path.
@@ -400,7 +404,9 @@ class RepositoryGitTest < ActiveSupport::TestCase
'61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
], changesets.collect(&:revision)
- if JRUBY_SKIP
+ if WINDOWS_PASS
+ puts WINDOWS_SKIP_STR
+ elsif JRUBY_SKIP
puts JRUBY_SKIP_STR
else
# latin-1 encoding path
@@ -421,7 +427,7 @@ class RepositoryGitTest < ActiveSupport::TestCase
def test_latest_changesets_latin_1_dir
if WINDOWS_PASS
- #
+ puts WINDOWS_SKIP_STR
elsif JRUBY_SKIP
puts JRUBY_SKIP_STR
else