]> source.dussan.org Git - redmine.git/commitdiff
Merge r9750 from trunk
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Sun, 17 Jun 2012 10:53:30 +0000 (10:53 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Sun, 17 Jun 2012 10:53:30 +0000 (10:53 +0000)
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/branches/1.4-stable@9852 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/functional/repositories_git_controller_test.rb
test/unit/lib/redmine/scm/adapters/git_adapter_test.rb
test/unit/repository_git_test.rb

index 860d436fecbe6185ca419ad23f0488ff1c0d1dc2..f1c4bfc8d64fa098d715a1bf6913ddd58e567781 100644 (file)
@@ -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
index b73018f0742f698f79521e8c27fa1df2bc43ce54..4584d4fabc423d3c61896870e8dd2ad0d4568b29 100644 (file)
@@ -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
index 6ea201f9ffc6b20c4e4744cb63c3ed0a8462c9e9..3bd684977ca15b6827e3360408a866c4157799fe 100644 (file)
@@ -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