test_harness #22

Merged
scott merged 3 commits from test_harness into main 2023-12-25 04:41:17 +00:00
Showing only changes of commit 8b47aab280 - Show all commits

View File

@ -6,12 +6,24 @@ const case_path = "./cases"
const files = await fs.readdir(case_path) const files = await fs.readdir(case_path)
for (const file of files) { for (const file of files) {
const script = await fs.readFile(`${case_path}/${file}`, {encoding: "utf8"}) const source = await fs.readFile(`${case_path}/${file}`, {encoding: "utf8"})
const first_line = script.split("\n")[0] const first_line = source.split("\n")[0]
const expected = first_line.split("EXPECT")[1].trim() const expected = first_line.split("EXPECT")[1].trim()
const result = run(script).result if (expected === "PANIC") expect_panic(file, source)
t.test(`testing ${file}: EXPECT ${expected}, GOT ${result}`, else expect_result(file, source, expected)
t => { }
function expect_panic(file, source) {
const result = run(source).errors[0]
t.test(`testing ${file}: EXPECT PANIC`, t => {
t.ok(result)
t.end()
})
}
function expect_result(file, source, expected) {
const result = run(source).result
t.test(`testing ${file}: EXPECT ${expected}, GOT ${result}`, t => {
t.equal(expected, result) t.equal(expected, result)
t.end() t.end()
}) })