1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/compiler/tests/repl
Toby Webb ab37081f02 add production mode tests
Due to the inability to detect warnings in REPL tests, I implemented running something very similar, but with the -prod flag enabled.
(See https://github.com/vlang/v/pull/2536)

There is also a minor change in os.walk_ext to not add duplicated path separators:
/path//file.ext -> /path/file.ext
2019-11-09 19:35:26 +03:00
..
runner add production mode tests 2019-11-09 19:35:26 +03:00
.gitattributes compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
.gitignore compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
arr_decl.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
chained_fields.correct.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
chained_fields.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
conditional_blocks.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
default_printing.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
empty_struct.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
error_nosave.repl parser: undefined error 2019-10-20 20:47:27 +03:00
error.repl parser: undefined error 2019-10-20 20:47:27 +03:00
function.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
immutable_len_fields.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
interpolation.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
multiple_decl.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
multiple_println.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
naked_strings.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
newlines.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
nomain.repl tests: no main fn 2019-10-13 17:50:55 +03:00
nothing.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
println.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
README.md compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00
repl_test.v add production mode tests 2019-11-09 19:35:26 +03:00
run.v tools: new tool to extracts function names declared in V files 2019-10-21 14:14:28 +03:00
var_decl.repl compiler: make compiler an ordinary vlib/compiler module 2019-10-13 16:37:43 +03:00

V REPL Tests Script

How to write a new test

  • Create a new file named *.repl
  • Write the input to be given to REPL
  • Add ===output===
  • Write the output expected

Notes

Keep in mind, that the way V repl works for now, every non empty line would cause a new recompilation of the entire repl content that was collected so far.

Longer REPL files would cause measurably longer recompilation/testing times.

Also, longer repl files would be slower to debug when they fail, It is better to have several smaller files vs one huge REPL file.

Example :

a := 1
println(a)
===output===
1