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
main.whiley method main(): other.whiley
import main
E101 main.whiley 1,2
<<< 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.
```Rust use std::fs; use std::str::FromStr; use whileytestfile::WhileyTestFile;
fn load(filename: &str) -> WhileyTestFile { // Read the test file let input = fs::readtostring(filename).unwrap(); // Parse test file return WhileyTestFile::from_str(&input).unwrap() } ```
This simply reads a file from disk and parses it as a
WhileyTestFile
, expecting this all to succeed.