Files
zern/test.zr

54 lines
1.4 KiB
Plaintext

func run_test[x: String] : Void
if str.equal(x, "raylib.zr") | str.equal(x, "x11.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: String = str.concat("./target/release/zern examples/", x)
let build_start_time: I64 = os.time()
if c.system(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.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 c.system("./out http://example.com") != 0
os.exit(1)
else
if c.system("./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
c.system("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)