cxl/tests/spec/main_spec.rb

24 lines
655 B
Ruby

require "fileutils"
require "open3"
describe "cxlc" do
def run_test(test_name)
stdout, stderr, status = Open3.capture3("../build/cxlc", "#{test_name}.cxl")
expect(status).to eq(0)
stdout, stderr, status = Open3.capture3("gcc", "-o", test_name, "#{test_name}.c")
if status != 0
$stderr.write(stderr)
end
expect(status).to eq(0)
stdout, stderr, status = Open3.capture3("./#{test_name}")
expect(stdout).to eq(File.read("#{test_name}.x"))
end
Dir["*.cxl"].sort.each do |test|
test_basename = File.basename(test, ".cxl")
it "passes test #{test_basename}" do
run_test(test_basename)
end
end
end