4 releases
0.6.2 | Jul 25, 2022 |
---|---|
0.6.1 | Jul 25, 2022 |
0.6.0 | Jul 25, 2022 |
0.5.0 | Jul 25, 2022 |
#519 in Programming languages
145KB
340 lines
WhileyTestFile
A library for parsing Whiley test files according to RFC#110 which are used for testing the Whiley compiler. Each test describes a sequence of modifications to one of more Whiley files, along with the expected outcomes (e.g. errors, warnings, etc). An example test file is the following:
whiley.verify = false
boogie.timeout = 1000
================
>>> main.whiley
method main():
>>> other.whiley
import main
---
E101 main.whiley 1,2
E302 main.whiley 2,2:3
================
<<< other.whiley
>>> main.whiley 1:1
method main()
skip
---
This is a test involving two files: main.whiley
and other.whiley
.
The initial frame sets the contents of main.whiley
to method main()
and the contents of other.whiley
to import main
.
Furthermore, compiling this frame is expected to produce two errors
(E101
and E302
). The second frame deletes file other.whiley
and
updates the contents of main.whiley
. Furthermore, compiling the
snapshot at this point is not expected to produce any errors.
Usage
use std::fs;
use whiley_test_file::WhileyTestFile;
//!
fn load(filename: &str) {
// Read the test file
let input = fs::read_to_string(filename).unwrap();
// Parse test file
let test_file = WhileyTestFile::new(&input).unwrap();
// ...
}
This simply reads a file from disk and parses it as a
WhileyTestFile
, expecting this all to succeed.