vdoc: extract vdoc_run_examples_test.v from vdoc_file_test.v

This commit is contained in:
Delyan Angelov 2025-08-13 13:03:01 +03:00
parent e33dcabcc1
commit ab80c767bd
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
2 changed files with 34 additions and 25 deletions

View File

@ -44,31 +44,6 @@ fn test_output() {
assert total_fails == 0
}
fn test_run_examples_good() {
os.setenv('VCOLORS', 'never', true)
os.chdir(vroot)!
res := os.execute('${vexe} doc -comments -run-examples cmd/tools/vdoc/testdata/run_examples_good/main.v')
assert res.exit_code == 0
assert res.output.contains('module main'), res.output
assert res.output.contains('fn abc()'), res.output
assert res.output.contains("abc just prints 'xyz'"), res.output
assert res.output.contains('and should succeed'), res.output
assert res.output.contains('Example: assert 5 * 5 == 25'), res.output
}
fn test_run_examples_bad() {
os.setenv('VCOLORS', 'never', true)
os.chdir(vroot)!
res := os.execute('${vexe} doc -comments -run-examples cmd/tools/vdoc/testdata/run_examples_bad/main.v')
assert res.exit_code != 0
assert res.output.contains('error in documentation example'), res.output
assert res.output.contains(' left value: 5 * 5 = 25'), res.output
assert res.output.contains('right value: 77'), res.output
assert res.output.contains('V panic: Assertion failed...'), res.output
assert res.output.contains('module main'), res.output
assert res.output.contains('Example: assert 5 * 5 == 77'), res.output
}
const small_pure_v_vlib_module = 'bitfield'
fn test_out_path() {

View File

@ -0,0 +1,34 @@
import os
const vexe_path = @VEXE
const vexe = os.quoted_path(vexe_path)
const vroot = os.dir(vexe_path)
fn test_run_examples_good() {
os.setenv('VCOLORS', 'never', true)
os.chdir(vroot)!
cmd := '${vexe} doc -comments -run-examples cmd/tools/vdoc/testdata/run_examples_good/main.v'
println('${@METHOD:30} running ${cmd} ...')
res := os.execute(cmd)
assert res.exit_code == 0
assert res.output.contains('module main'), res.output
assert res.output.contains('fn abc()'), res.output
assert res.output.contains("abc just prints 'xyz'"), res.output
assert res.output.contains('and should succeed'), res.output
assert res.output.contains('Example: assert 5 * 5 == 25'), res.output
}
fn test_run_examples_bad() {
os.setenv('VCOLORS', 'never', true)
os.chdir(vroot)!
cmd := '${vexe} doc -comments -run-examples cmd/tools/vdoc/testdata/run_examples_bad/main.v'
println('${@METHOD:30} running ${cmd} ...')
res := os.execute(cmd)
assert res.exit_code != 0
assert res.output.contains('error in documentation example'), res.output
assert res.output.contains(' left value: 5 * 5 = 25'), res.output
assert res.output.contains('right value: 77'), res.output
assert res.output.contains('V panic: Assertion failed...'), res.output
assert res.output.contains('module main'), res.output
assert res.output.contains('Example: assert 5 * 5 == 77'), res.output
}