1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/compiler/tests/repl/repl_test.v

31 lines
859 B
Go
Raw Normal View History

2019-08-18 18:21:48 +03:00
import os
fn test_repl() {
test_files := os.walk_ext('.', '.repl')
wd := os.getwd() + '/'
2019-08-18 18:21:48 +03:00
for file in test_files {
content := os.read_file(file) or {
assert false
break
}
input_temporary_filename := 'input_temporary_filename.txt'
input := content.all_before('===output===\n')
2019-08-18 18:21:48 +03:00
output := content.all_after('===output===\n')
os.write_file(input_temporary_filename, input)
defer {
os.rm(input_temporary_filename)
}
r := os.exec('./v < $input_temporary_filename') or {
2019-08-18 18:21:48 +03:00
assert false
break
}
result := r.output.replace('>>> ', '').replace('>>>', '').replace('... ', '').all_after('Use Ctrl-C or `exit` to exit\n').replace( wd, '' )
2019-08-18 18:21:48 +03:00
assert result == output
if result != output {
println(file)
println('Got : $result')
println('Expected : $output')
}
}
}