60 lines
1.7 KiB
Plaintext
60 lines
1.7 KiB
Plaintext
func run_test[x: str] : void
|
|
if str.equal(x, "puzzles") | str.equal(x, "raylib.zr") | str.equal(x, "x11.zr") | str.equal(x, "sqlite_todo.zr")
|
|
io.print("\033[93mSkipping ")
|
|
io.print(x)
|
|
io.println("...\033[0m")
|
|
return 0
|
|
|
|
io.print("\033[93mBuilding ")
|
|
io.print(x)
|
|
io.print("...\033[0m ")
|
|
let cmd: str = str.concat("./target/release/zern examples/", x)
|
|
|
|
let build_start_time: i64 = os.time()
|
|
if os.shell(cmd) != 0
|
|
os.exit(1)
|
|
let build_end_time: i64 = os.time()
|
|
|
|
mem.free(cmd)
|
|
io.print_i64(build_end_time - build_start_time)
|
|
io.println("ms")
|
|
|
|
if str.find(x, "/aoc") != -1 | str.equal(x, "guess_number.zr") | str.equal(x, "tcp_server.zr")
|
|
io.print("\033[93mSkipping ")
|
|
io.print(x)
|
|
io.println("...\033[0m")
|
|
return 0
|
|
|
|
io.print("\033[93mRunning ")
|
|
io.print(x)
|
|
io.println("...\033[0m")
|
|
|
|
let run_start_time: i64 = os.time()
|
|
if str.equal(x, "curl.zr")
|
|
if os.shell("./out http://example.com") != 0
|
|
os.exit(1)
|
|
else
|
|
if os.shell("./out") != 0
|
|
os.exit(1)
|
|
let run_end_time: i64 = os.time()
|
|
|
|
io.print("\033[93mRunning ")
|
|
io.print(x)
|
|
io.print(" took\033[0m ")
|
|
io.print_i64(run_end_time - run_start_time)
|
|
io.println("ms")
|
|
|
|
func main[] : i64
|
|
os.shell("cargo build --release")
|
|
|
|
let files: array = os.listdir("examples/")
|
|
for i in 0..array.size(files)
|
|
run_test(array.nth(files, i))
|
|
|
|
array.free(files)
|
|
|
|
let puzzle_files: array = os.listdir("examples/puzzles/")
|
|
for i in 0..array.size(puzzle_files)
|
|
run_test(str.concat("puzzles/", array.nth(puzzle_files, i)))
|
|
|
|
array.free(puzzle_files) |