1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/rubygems/test_gem_ext_cargo_builder_unit.rb
Takuya Noguchi d7ffd3fea4
RubyGems: Enable Style/StringLiterals cop
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
2022-07-22 12:07:23 +09:00

75 lines
2.4 KiB
Ruby

# frozen_string_literal: true
require_relative "helper"
require "rubygems/ext"
class TestGemExtCargoBuilderUnit < Gem::TestCase
def test_cargo_command_passes_args
skip_unsupported_platforms!
spec = Gem::Specification.new "rust_ruby_example", "0.1.0"
builder = Gem::Ext::CargoBuilder.new(spec)
command = builder.cargo_command(Dir.pwd, @tempdir, ["--all-features"])
assert_includes command, "--all-features"
end
def test_cargo_command_locks_in_release_profile
skip_unsupported_platforms!
spec = Gem::Specification.new "rust_ruby_example", "0.1.0"
builder = Gem::Ext::CargoBuilder.new(spec)
builder.profile = :release
command = builder.cargo_command(Dir.pwd, @tempdir)
assert_includes command, "--locked"
end
def test_cargo_command_does_not_lock_in_dev_profile
skip_unsupported_platforms!
spec = Gem::Specification.new "rust_ruby_example", "0.1.0"
builder = Gem::Ext::CargoBuilder.new(spec)
builder.profile = :dev
command = builder.cargo_command(Dir.pwd, @tempdir)
assert_not_includes command, "--locked"
end
def test_cargo_command_passes_respects_cargo_env_var
skip_unsupported_platforms!
old_cargo = ENV["CARGO"]
ENV["CARGO"] = "mycargo"
spec = Gem::Specification.new "rust_ruby_example", "0.1.0"
builder = Gem::Ext::CargoBuilder.new(spec)
command = builder.cargo_command(Dir.pwd, @tempdir)
assert_includes command, "mycargo"
ensure
ENV["CARGO"] = old_cargo
end
def test_build_env_includes_rbconfig
skip_unsupported_platforms!
spec = Gem::Specification.new "rust_ruby_example", "0.1.0"
builder = Gem::Ext::CargoBuilder.new(spec)
env = builder.build_env
assert_equal env.fetch("RBCONFIG_RUBY_SO_NAME"), RbConfig::CONFIG["RUBY_SO_NAME"]
end
def test_cargo_command_passes_respects_cargo_build_target
skip_unsupported_platforms!
old_cargo = ENV["CARGO_BUILD_TARGET"]
ENV["CARGO_BUILD_TARGET"] = "x86_64-unknown-linux-gnu"
spec = Gem::Specification.new "rust_ruby_example", "0.1.0"
builder = Gem::Ext::CargoBuilder.new(spec)
command = builder.cargo_command(Dir.pwd, @tempdir, ["--locked"])
assert_includes command, "--target"
assert_includes command, "x86_64-unknown-linux-gnu"
ensure
ENV["CARGO_BUILD_TARGET"] = old_cargo
end
def skip_unsupported_platforms!
pend "jruby not supported" if java_platform?
end
end