Skip to content

Commit 9f18c04

Browse files
Merge pull request rails#50169 from jonathanhefner/app_generator_test-fix-arm64
Fix generator tests on `arm64` platforms
2 parents b744c8d + 0b02dce commit 9f18c04

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

railties/test/generators/app_generator_test.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,13 @@ def test_generation_runs_bundle_install
683683
assert_equal 1, @bundle_commands.count("install")
684684
end
685685

686+
def test_generation_runs_bundle_lock_for_linux
687+
generator([destination_root])
688+
run_generator_instance
689+
690+
assert_not_empty @bundle_commands.grep(/\Alock --add-platform=\S+-linux/)
691+
end
692+
686693
def test_generation_use_original_bundle_environment
687694
generator([destination_root])
688695

railties/test/generators/shared_generator_tests.rb

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -393,12 +393,18 @@ def run_generator_using_prerelease(args)
393393

394394
generator(positional_args, option_args)
395395

396+
prerelease_commands = []
397+
prerelease_command_rails_gems = []
396398
rails_gem_pattern = /^gem ["']rails["'], .+/
397-
bundle_command_rails_gems = []
399+
398400
@bundle_command_stub = -> (command, *) do
399401
@bundle_commands << command
400-
assert_file File.expand_path("Gemfile", project_path) do |gemfile|
401-
bundle_command_rails_gems << gemfile[rails_gem_pattern]
402+
403+
if command.start_with?("install", "exec rails")
404+
prerelease_commands << command
405+
assert_file File.expand_path("Gemfile", project_path) do |gemfile|
406+
prerelease_command_rails_gems << gemfile[rails_gem_pattern]
407+
end
402408
end
403409
end
404410

@@ -408,13 +414,11 @@ def run_generator_using_prerelease(args)
408414
end
409415

410416
assert_file File.expand_path("Gemfile", project_path) do |gemfile|
411-
assert_equal "install", @bundle_commands[0]
412-
assert_match "lock --add-platform", @bundle_commands[1]
413-
414-
assert_equal gemfile[rails_gem_pattern], bundle_command_rails_gems[0]
417+
assert_equal "install", prerelease_commands[0]
418+
assert_equal gemfile[rails_gem_pattern], prerelease_command_rails_gems[0]
415419

416-
assert_match %r"^exec rails (?:plugin )?new #{Regexp.escape Shellwords.join(expected_args)}", @bundle_commands[2]
417-
assert_equal gemfile[rails_gem_pattern], bundle_command_rails_gems[1]
420+
assert_match %r"^exec rails (?:plugin )?new #{Regexp.escape Shellwords.join(expected_args)}", prerelease_commands[1]
421+
assert_equal gemfile[rails_gem_pattern], prerelease_command_rails_gems[1]
418422
end
419423
end
420424

0 commit comments

Comments
 (0)