// vtest build: !musl?
import os

fn test_all_samples_can_be_compiled() {
	vexe := @VEXE
	vroot := os.dir(vexe)
	samples := os.walk_ext('${vroot}/vlib/gg/testdata', '.vv')
	mut fails := []string{}
	for program_source in samples {
		compile_cmd := '${os.quoted_path(vexe)} ${os.quoted_path(program_source)}'
		res := os.execute(compile_cmd)
		if res.exit_code != 0 {
			eprintln('>>> FAIL ${compile_cmd}')
			eprintln(res.output)
			fails << compile_cmd
		}
		println('OK ${compile_cmd}')
	}
	if fails.len > 0 {
		eprintln('> Failed summary:')
		for f in fails {
			eprintln('   failed cmd: ${f}')
		}
		assert false
	}
}
