summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2025-12-17 10:44:28 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2025-12-17 10:45:57 -0800
commitf7120860b0a76fd776ef4bf040e42a46c8aeff63 (patch)
treec8732ed1ab99a1b3068ab3b20d5ea4866beed389 /tool
parentdc2a62e14c4691808f04ea0cb2de30c681e87923 (diff)
test_sync_default_gems.rb: Omit if git is v2.43 or older
Diffstat (limited to 'tool')
-rwxr-xr-xtool/test/test_sync_default_gems.rb11
1 files changed, 8 insertions, 3 deletions
diff --git a/tool/test/test_sync_default_gems.rb b/tool/test/test_sync_default_gems.rb
index 4a2688850b..f9ab0aae4d 100755
--- a/tool/test/test_sync_default_gems.rb
+++ b/tool/test/test_sync_default_gems.rb
@@ -2,6 +2,7 @@
require 'test/unit'
require 'stringio'
require 'tmpdir'
+require 'rubygems/version'
require_relative '../sync_default_gems'
module Test_SyncDefaultGems
@@ -319,9 +320,13 @@ module Test_SyncDefaultGems
end
def test_squash_merge
- if RUBY_PLATFORM =~ /s390x/
- omit("git 2.43.0 bug on s390x ubuntu 24.04: BUG: log-tree.c:1058: did a remerge diff without remerge_objdir?!?")
- end
+ # This test is known to fail with git 2.43.0, which is used by Ubuntu 24.04.
+ # We don't know which exact version fixed it, but we know git 2.52.0 works.
+ stdout, status = Open3.capture2('git', '--version', err: File::NULL)
+ omit 'git version check failed' unless status.success?
+ git_version = stdout.rstrip.delete_prefix('git version ')
+ omit "git #{git_version} is too old" if Gem::Version.new(git_version) < Gem::Version.new('2.44.0')
+
# 2---. <- branch
# / \
# 1---3---3'<- merge commit with conflict resolution