checker: support tests/run/ folder, checks many warns/errors/output
							parent
							
								
									23e8c8ecda
								
							
						
					
					
						commit
						a0f8005352
					
				| 
						 | 
				
			
			@ -10,10 +10,13 @@ fn test_all() {
 | 
			
		|||
	classic_tests := get_tests_in_dir(classic_dir)
 | 
			
		||||
	global_dir := '$classic_dir/globals'
 | 
			
		||||
	global_tests := get_tests_in_dir(global_dir)
 | 
			
		||||
	run_dir := '$classic_dir/run'
 | 
			
		||||
	run_tests := get_tests_in_dir(run_dir)	
 | 
			
		||||
	// -prod so that warns are errors
 | 
			
		||||
	total_errors += check_path(vexe, classic_dir, '-prod', '.out', classic_tests)
 | 
			
		||||
	total_errors += check_path(vexe, global_dir, '--enable-globals', '.out', global_tests)
 | 
			
		||||
	total_errors += check_path(vexe, classic_dir, '--enable-globals run', '.run.out', ['globals_error.vv'])
 | 
			
		||||
	total_errors += check_path(vexe, run_dir,   'run', '.run.out', run_tests)
 | 
			
		||||
	assert total_errors == 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -31,7 +34,7 @@ fn check_path(vexe, dir, voptions, result_extension string, tests []string) int
 | 
			
		|||
	for test in tests {
 | 
			
		||||
		path := os.join_path(dir, test).replace('\\', '/')
 | 
			
		||||
		program := path.replace('.vv', '.v')
 | 
			
		||||
		print(program + ' ')
 | 
			
		||||
		print(path + ' ')
 | 
			
		||||
		os.cp(path, program) or {
 | 
			
		||||
			panic(err)
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,27 @@
 | 
			
		|||
vlib/v/checker/tests/run/assign_expr_unresolved_variables_err_chain.v:3:2: warning: unused variable: `b`
 | 
			
		||||
    1 | fn main() {
 | 
			
		||||
    2 |     a := b
 | 
			
		||||
    3 |     b := c
 | 
			
		||||
      |     ^
 | 
			
		||||
    4 |     c := a
 | 
			
		||||
    5 | }
 | 
			
		||||
vlib/v/checker/tests/run/assign_expr_unresolved_variables_err_chain.v:4:2: warning: unused variable: `c`
 | 
			
		||||
    2 |     a := b
 | 
			
		||||
    3 |     b := c
 | 
			
		||||
    4 |     c := a
 | 
			
		||||
      |     ^
 | 
			
		||||
    5 | }
 | 
			
		||||
vlib/v/checker/tests/run/assign_expr_unresolved_variables_err_chain.v:2:7: error: unresolved variable: `b`
 | 
			
		||||
    1 | fn main() {
 | 
			
		||||
    2 |     a := b
 | 
			
		||||
      |          ^
 | 
			
		||||
    3 |     b := c
 | 
			
		||||
    4 |     c := a
 | 
			
		||||
vlib/v/checker/tests/run/assign_expr_unresolved_variables_err_chain.v:3:7: error: unresolved variable: `c`
 | 
			
		||||
    1 | fn main() {
 | 
			
		||||
    2 |     a := b
 | 
			
		||||
    3 |     b := c
 | 
			
		||||
      |          ^
 | 
			
		||||
    4 |     c := a
 | 
			
		||||
    5 | }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
fn main() {
 | 
			
		||||
	a := b
 | 
			
		||||
	b := c
 | 
			
		||||
	c := a
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue