Browse Source

Merge r9750 from trunk

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
tags/1.4.4
Toshi MARUYAMA 12 years ago
parent
commit
b303dddbe3

+ 14
- 0
test/functional/repositories_git_controller_test.rb View 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

+ 8
- 4
test/unit/lib/redmine/scm/adapters/git_adapter_test.rb View 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

+ 10
- 4
test/unit/repository_git_test.rb View 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

Loading…
Cancel
Save