Initial parametric Feather case generator
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user