feat(tvix/tests): check in Nix' language test suite

This adds scaffolding code for running the Nix language test suite.

The majority of eval-okay-* tests should eventually be runnable as-is
by Tvix, however the eval-fail-* tests might not as we intend to have
more useful error messages than upstream Nix.

Change-Id: I4f3227f0889c55e4274b804a3072850fb78dd1bd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6126
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: grfn <grfn@gws.fyi>
This commit is contained in:
Vincent Ambo 2022-08-10 18:53:50 +03:00 committed by tazjin
parent b28da8ad56
commit 92c53fe982
248 changed files with 2217 additions and 9 deletions

View file

@ -12,6 +12,9 @@ mod opcode;
mod value;
mod vm;
#[cfg(test)]
mod tests;
fn main() {
let mut args = env::args();
if args.len() > 2 {
@ -47,8 +50,8 @@ fn run_prompt() {
}
fn run(code: String) {
match eval::interpret(code) {
Ok(result) => println!("=> {}", result),
match eval::interpret(&code) {
Ok(result) => println!("=> {} :: {}", result, result.type_of()),
Err(err) => eprintln!("{}", err),
}
}