tests: add vlib/v/tests/failing_tests_test.v, support `testdata` in `v test-self` too
							parent
							
								
									0254a1ac76
								
							
						
					
					
						commit
						b28def7c11
					
				|  | @ -123,7 +123,7 @@ fn main() { | ||||||
| 	all_test_files := os.walk_ext(os.join_path(vroot, 'vlib'), '_test.v') | 	all_test_files := os.walk_ext(os.join_path(vroot, 'vlib'), '_test.v') | ||||||
| 	testing.eheader(title) | 	testing.eheader(title) | ||||||
| 	mut tsession := testing.new_test_session(cmd_prefix, true) | 	mut tsession := testing.new_test_session(cmd_prefix, true) | ||||||
| 	tsession.files << all_test_files | 	tsession.files << all_test_files.filter(!it.contains('testdata' + os.path_separator)) | ||||||
| 	tsession.skip_files << skip_test_files | 	tsession.skip_files << skip_test_files | ||||||
| 	mut werror := false | 	mut werror := false | ||||||
| 	mut sanitize_memory := false | 	mut sanitize_memory := false | ||||||
|  |  | ||||||
|  | @ -0,0 +1,21 @@ | ||||||
|  | import os | ||||||
|  | 
 | ||||||
|  | fn vroot_path(relpath string) string { | ||||||
|  | 	return os.real_path(os.join_path(@VMODROOT, relpath)) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | fn vexecute(relpath string) os.Result { | ||||||
|  | 	return os.execute('${@VEXE} ' + vroot_path(relpath)) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | fn testsuite_begin() { | ||||||
|  | 	os.setenv('VCOLORS', 'never', true) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | fn test_returning_options() { | ||||||
|  | 	res := vexecute('vlib/v/tests/testdata/tests_returning_options_failing_test.v') | ||||||
|  | 	assert res.exit_code == 1 | ||||||
|  | 	dump(res) | ||||||
|  | 	assert res.output.contains('tests_returning_options_failing_test.v:13: fn test_example failed propagation with error: failing test with return, err: oh no') | ||||||
|  | 	assert res.output.contains('tests_returning_options_failing_test.v:19: fn test_example_2 failed propagation with error: oh no') | ||||||
|  | } | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | fn example() ? { | ||||||
|  | 	return error('oh no') | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | fn test_simple() { | ||||||
|  | 	assert true | ||||||
|  | 	assert true | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | fn test_example() ? { | ||||||
|  | 	assert true | ||||||
|  | 	assert true | ||||||
|  | 	example() or { return error('failing test with return, err: $err') } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | fn test_example_2() ? { | ||||||
|  | 	assert true | ||||||
|  | 	assert true | ||||||
|  | 	example() ? | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue