Files
feather-case/test/toolchain_test.rb
T
2026-08-04 12:27:31 -07:00

33 lines
1.1 KiB
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(/Python 3/, 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,
"PYTHON" => executable}
)
assert_equal executable, toolchain.openscad
assert_equal executable, toolchain.blender
assert_equal executable, toolchain.python
assert_same toolchain, toolchain.check!
end
end
end