Files
feather-case/test/toolchain_test.rb
T

31 lines
949 B
Ruby

# frozen_string_literal: true
require_relative "test_helper"
class ToolchainTest < Minitest::Test
def test_reports_both_missing_dependencies
toolchain = FeatherCaseWizard::Toolchain.new(env: {"PATH" => ""})
error = assert_raises(FeatherCaseWizard::ToolError) { toolchain.check! }
assert_match(/OpenSCAD/, error.message)
assert_match(/Blender/, error.message)
assert_match(/apt-get/, error.message)
end
def test_environment_overrides_are_used
Dir.mktmpdir do |directory|
executable = File.join(directory, "tool")
File.write(executable, "#!/bin/sh\nexit 0\n")
FileUtils.chmod(0o755, executable)
toolchain = FeatherCaseWizard::Toolchain.new(
env: {"PATH" => "", "OPENSCAD" => executable, "BLENDER" => executable}
)
assert_equal executable, toolchain.openscad
assert_equal executable, toolchain.blender
assert_same toolchain, toolchain.check!
end
end
end