v/vlib/v/tests/known_errors/known_errors_test.v

37 lines
855 B
V

import os
const vexe = @VEXE
const vroot = os.dir(vexe)
const testdata_folder = 'vlib/v/tests/known_errors/testdata'
fn test_known_errors_testdata_folder_exists() ? {
os.chdir(vroot) ?
assert os.is_dir(testdata_folder)
}
fn test_known_failures_are_still_failures() ? {
mut oks := []string{}
mut files := os.walk_ext(testdata_folder, '.v')
files << os.walk_ext(testdata_folder, '.vv')
for f in files {
cmd := '${os.quoted_path(vexe)} ${os.quoted_path(f)}'
println('known compilation failure: $cmd')
res := os.execute(cmd)
if res.exit_code == 0 {
oks << cmd
println(' unexpectedly COMPILED: $cmd')
} else {
assert true
}
}
println('Summary: $files.len files, $oks.len unexpectedly succeeded.')
if oks.len != 0 {
for cmd in oks {
println(' expected to fail, but SUCCEEDED command: $cmd')
}
assert false
}
}