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

toml: add 1MB file parsing test to CI (#12582)

This commit is contained in:
Larpon 2021-11-26 16:11:14 +01:00 committed by GitHub
parent 253e38d9d7
commit 04b030b7ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 0 deletions

View File

@ -36,3 +36,9 @@ jobs:
- name: Run BurntSushi TOML tests - name: Run BurntSushi TOML tests
run: ./v vlib/toml/tests/burntsushi.toml-test_test.v run: ./v vlib/toml/tests/burntsushi.toml-test_test.v
- name: Get large_toml_file_test.toml
run: wget https://gist.githubusercontent.com/Larpon/89b0e3d94c6903851ff15559e5df7a05/raw/62a1f87a4e37bf157f2e0bfb32d85d840c98e422/large_toml_file_test.toml -O vlib/toml/tests/testdata/large_toml_file_test.toml
- name: Run large TOML file tests
run: ./v vlib/toml/tests/large_toml_file_test.v

View File

@ -0,0 +1,21 @@
import os
import toml
// Instructions for developers:
// The large (1MB) TOML file can be obtained by doing:
// `cd vlib/toml/tests/testdata`
// `wget https://gist.githubusercontent.com/Larpon/89b0e3d94c6903851ff15559e5df7a05/raw/62a1f87a4e37bf157f2e0bfb32d85d840c98e422/large_toml_file_test.toml`
// See also the CI toml tests
// test_large_file parser 'testdata/large_toml_file_test.toml' if found.
fn test_large_file() {
toml_file :=
os.real_path(os.join_path(os.dir(@FILE), 'testdata', os.file_name(@FILE).all_before_last('.'))) +
'.toml'
if os.exists(toml_file) {
println('Testing parsing of large (${os.file_size(toml_file)} bytes) "$toml_file"...')
toml_doc := toml.parse(toml_file) or { panic(err) }
println('OK [1/1] "$toml_file"...') // So it can be checked with `v -stats test ...`
}
}