elementary shell behavior: can kick off a foreground process and

handle signals
This commit is contained in:
Ava Apples Affine 2023-03-24 18:14:33 -07:00
parent 3b1ae0efd5
commit 99cb9e5a2e
Signed by: affine
GPG key ID: 3A4645B8CF806069
17 changed files with 619 additions and 167 deletions

View file

@ -15,8 +15,8 @@ mod lex_tests {
#[test]
fn test_bad_symbol() {
let document = String::from("(as/dd)");
let output: &str = "Problem lexing document: \"Unparsable token: as/dd\"";
let document = String::from("(as@dd)");
let output: &str = "Problem lexing document: \"Unparsable token: as@dd\"";
assert_eq!(lex(&document).err().unwrap(), output.to_string(),);
}

View file

@ -9,7 +9,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -25,7 +25,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -42,7 +42,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -59,7 +59,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -76,7 +76,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -93,7 +93,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -110,7 +110,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -126,7 +126,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -144,7 +144,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -160,7 +160,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -178,7 +178,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -198,7 +198,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap();
let ch1 = lex(&check1.to_string()).unwrap();
let ch2 = lex(&check2.to_string()).unwrap();
@ -224,7 +224,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap();
let ch1 = lex(&check1.to_string()).unwrap();
let ch2 = lex(&check2.to_string()).unwrap();
@ -250,7 +250,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap();
let ch1 = lex(&check1.to_string()).unwrap();
let ch2 = lex(&check2.to_string()).unwrap();
@ -276,7 +276,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap();
let ch1 = lex(&check1.to_string()).unwrap();
let ch2 = lex(&check2.to_string()).unwrap();
@ -299,7 +299,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -316,7 +316,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
@ -333,7 +333,7 @@ mod append_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)

View file

@ -8,7 +8,7 @@ mod bool_lib_tests {
let result = "true";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -23,7 +23,7 @@ mod bool_lib_tests {
let result = "false";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -38,7 +38,7 @@ mod bool_lib_tests {
let result = "false";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -53,7 +53,7 @@ mod bool_lib_tests {
let result = "true";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -68,7 +68,7 @@ mod bool_lib_tests {
let result = "true";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -83,7 +83,7 @@ mod bool_lib_tests {
let result = "false";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -98,7 +98,7 @@ mod bool_lib_tests {
let result = "false";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -115,7 +115,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let doc_tree = lex(&document.to_string()).unwrap();
let change_tree = lex(&change.to_string()).unwrap();
@ -154,7 +154,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let doc_tree = lex(&document.to_string()).unwrap();
let change_tree = lex(&change.to_string()).unwrap();
@ -187,7 +187,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let doc_tree = lex(&document.to_string()).unwrap();
let change_tree = lex(&change.to_string()).unwrap();
@ -217,7 +217,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(b)
@ -233,7 +233,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(!b)
@ -249,7 +249,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(!b)
@ -265,7 +265,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(!b)
@ -281,7 +281,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(b)
@ -297,7 +297,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(b)
@ -313,7 +313,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(!b)
@ -329,7 +329,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(b)
@ -345,7 +345,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(!b)
@ -361,7 +361,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(b)
@ -377,7 +377,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(!b)
@ -393,7 +393,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(b)
@ -409,7 +409,7 @@ mod bool_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ctr::Bool(b) = *eval(&test, &mut syms).unwrap() {
assert!(!b)

View file

@ -8,7 +8,7 @@ mod control_lib_tests {
let result = 1;
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -23,7 +23,7 @@ mod control_lib_tests {
let result = 2;
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -38,7 +38,7 @@ mod control_lib_tests {
let result = "(1)";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -56,7 +56,7 @@ mod control_lib_tests {
let result = "('1' '2')";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -75,7 +75,7 @@ mod control_lib_tests {
let result = "('hello world')";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&document1.to_string()).unwrap(), &mut syms).unwrap();
assert_eq!(
*eval(&lex(&document2.to_string()).unwrap(), &mut syms)
@ -91,7 +91,7 @@ mod control_lib_tests {
let result = "('1' '2')";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -111,7 +111,7 @@ mod control_lib_tests {
let result = "('1' '2' '3')";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -140,7 +140,7 @@ mod control_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&switch_tree, &mut syms).unwrap();
eval(&while_tree, &mut syms).unwrap();
@ -167,7 +167,7 @@ mod control_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&switch_tree, &mut syms).unwrap();
eval(&while_tree, &mut syms).unwrap();
@ -194,7 +194,7 @@ mod control_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&another_tree, &mut syms).unwrap();
eval(&switch_tree, &mut syms).unwrap();
@ -212,7 +212,7 @@ mod control_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&doc_tree, &mut syms).unwrap();
let res = eval(&test_tree, &mut syms);
@ -229,7 +229,7 @@ mod control_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&doc_tree, &mut syms).unwrap();
assert_eq!(

View file

@ -10,7 +10,7 @@ mod decl_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&doc1.to_string()).unwrap(), &mut syms).unwrap();
let res = *eval(&lex(&doc2.to_string()).unwrap(), &mut syms).unwrap();
@ -25,7 +25,7 @@ mod decl_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&doc1.to_string()).unwrap(), &mut syms).unwrap();
let res = *eval(&lex(&doc2.to_string()).unwrap(), &mut syms).unwrap();
@ -40,7 +40,7 @@ mod decl_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&doc1.to_string()).unwrap(), &mut syms).unwrap();
let res = *eval(&lex(&doc2.to_string()).unwrap(), &mut syms).unwrap();
@ -56,7 +56,7 @@ mod decl_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&doc1.to_string()).unwrap(), &mut syms).unwrap();
eval(&lex(&doc2.to_string()).unwrap(), &mut syms).unwrap();
@ -72,7 +72,7 @@ mod decl_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&doc1.to_string()).unwrap(), &mut syms).unwrap();
eval(&lex(&doc2.to_string()).unwrap(), &mut syms).unwrap();
@ -98,7 +98,7 @@ mod decl_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&doc1.to_string()).unwrap(), &mut syms).unwrap();
eval(&lex(&doc2.to_string()).unwrap(), &mut syms).unwrap();
@ -117,7 +117,7 @@ mod decl_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&doc1.to_string()).unwrap(), &mut syms).unwrap();
eval(&lex(&doc2.to_string()).unwrap(), &mut syms).unwrap();
@ -136,7 +136,7 @@ mod decl_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&doc1.to_string()).unwrap(), &mut syms).unwrap();
let res = *eval(&lex(&doc2.to_string()).unwrap(), &mut syms).unwrap();
@ -150,7 +150,7 @@ mod decl_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let def_tree = lex(&doc1.to_string()).unwrap();
let set_tree = lex(&doc2.to_string()).unwrap();
@ -165,7 +165,7 @@ mod decl_lib_tests {
let doc = "(set? test)";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let set_tree = lex(&doc.to_string()).unwrap();
if let Ctr::Bool(b) = *eval(&set_tree, &mut syms).unwrap() {
assert!(!b);
@ -179,7 +179,7 @@ mod decl_lib_tests {
let doc3 = "t";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let set_tree = lex(&doc1.to_string()).unwrap();
let env_tree = lex(&doc2.to_string()).unwrap();
let tst_tree = lex(&doc3.to_string()).unwrap();
@ -194,7 +194,7 @@ mod decl_lib_tests {
let result = "(add 1 2)";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -211,7 +211,7 @@ mod decl_lib_tests {
let result = "3";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -226,7 +226,7 @@ mod decl_lib_tests {
let result = "(1 2 3)";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -236,7 +236,7 @@ mod decl_lib_tests {
}
/* THIS TEST REMOVED BECAUSE EVAL SHOULDNT ARBITRARILY DO THINGS TWICE
* KEPT FOR REFERENCE PURPOSES JUST IN CASE
* KEPT FOR REFERENCE PURPOSES JUST IN CASE.
#[test]
fn test_eval_var_deref() {
let def1 = "(def one '' 1)";
@ -261,7 +261,7 @@ mod decl_lib_tests {
let document = "(lambda (x y) (add x y))";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -275,7 +275,7 @@ mod decl_lib_tests {
let document = "(lambda () (add 1 2))";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -289,7 +289,7 @@ mod decl_lib_tests {
let document = "((lambda (x y) (add x y)) 1 2)";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let it = *eval(
&lex(&document.to_string()).unwrap(),
&mut syms).unwrap();
@ -306,7 +306,7 @@ mod decl_lib_tests {
(adder 1 2))";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let it = *eval(
&lex(&document.to_string()).unwrap(),
&mut syms).unwrap();
@ -324,7 +324,7 @@ mod decl_lib_tests {
(adder 1 2))";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let it = *eval(
&lex(&document.to_string()).unwrap(),
&mut syms).unwrap();
@ -343,7 +343,7 @@ mod decl_lib_tests {
(appl adder 2))";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let it = *eval(
&lex(&document.to_string()).unwrap(),
&mut syms).unwrap();
@ -361,7 +361,7 @@ mod decl_lib_tests {
let document = "(get-doc (q help))";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let _ = *eval(
&lex(&highly_inadvisable.to_string()).unwrap(),
&mut syms).unwrap();

View file

@ -9,7 +9,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -25,7 +25,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -41,7 +41,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -57,7 +57,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -73,7 +73,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -89,7 +89,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -105,7 +105,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -121,7 +121,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -137,7 +137,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -153,7 +153,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -169,7 +169,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -185,7 +185,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -201,7 +201,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -220,7 +220,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let _ = *eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap();
assert_eq!(
*eval(&lex(&check1.to_string()).unwrap(), &mut syms)
@ -244,7 +244,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let _ = *eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap();
assert_eq!(
*eval(&lex(&check1.to_string()).unwrap(), &mut syms)
@ -261,7 +261,7 @@ mod math_lib_tests {
let result1 = "3";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let _ = *eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap();
assert_eq!(
*eval(&lex(&check1.to_string()).unwrap(), &mut syms)
@ -279,7 +279,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let _ = *eval(&lex(&document.to_string()).unwrap(), &mut syms).unwrap();
assert_eq!(
*eval(&lex(&check1.to_string()).unwrap(), &mut syms)
@ -296,7 +296,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -312,7 +312,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -328,7 +328,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -344,7 +344,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -360,7 +360,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -376,7 +376,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -392,7 +392,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -408,7 +408,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -424,7 +424,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -440,7 +440,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -456,7 +456,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -472,7 +472,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -488,7 +488,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -504,7 +504,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -520,7 +520,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -536,7 +536,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -552,7 +552,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -568,7 +568,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -584,7 +584,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -600,7 +600,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -617,7 +617,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let doc_tree = lex(&document.to_string()).unwrap();
let change_tree = lex(&change.to_string()).unwrap();
@ -656,7 +656,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let doc_tree = lex(&document.to_string()).unwrap();
let change_tree = lex(&change.to_string()).unwrap();
@ -689,7 +689,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let doc_tree = lex(&document.to_string()).unwrap();
let change_tree = lex(&change.to_string()).unwrap();
@ -720,7 +720,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let doc_tree = lex(&document.to_string()).unwrap();
let change_tree = lex(&change.to_string()).unwrap();
@ -759,7 +759,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let doc_tree = lex(&document.to_string()).unwrap();
let change_tree = lex(&change.to_string()).unwrap();
@ -792,7 +792,7 @@ mod math_lib_tests {
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
let doc_tree = lex(&document.to_string()).unwrap();
let change_tree = lex(&change.to_string()).unwrap();

103
tests/test_lib_posix.rs Normal file
View file

@ -0,0 +1,103 @@
mod posix_tests {
use relish::aux::args_from_ast;
use relish::stdlib::{dynamic_stdlib, static_stdlib};
use relish::ast::{lex, eval, SymTable};
#[test]
fn test_cmd_singlet() {
let document = "(binary)";
let result = vec!["binary"];
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ok(ref s) = lex(&document.to_string()) {
assert_eq!(
args_from_ast(s, &mut syms),
result
)
} else {
panic!()
}
}
#[test]
fn test_cmd_list() {
let document = "(binary --flag=1 122 'yeet' true)";
let result = vec!["binary", "--flag=1", "122", "yeet", "true"];
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ok(ref s) = lex(&document.to_string()) {
assert_eq!(
args_from_ast(s, &mut syms),
result
)
} else {
panic!()
}
}
#[test]
fn test_cmd_syms_undef() {
let document = "(binary --flag=1 122 'yeet' true syms)";
let result = vec!["binary", "--flag=1", "122", "yeet", "true", "syms"];
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ok(ref s) = lex(&document.to_string()) {
assert_eq!(
args_from_ast(s, &mut syms),
result
)
} else {
panic!()
}
}
#[test]
fn test_cmd_syms_unwrap_simple() {
let decl = "(def syms '' 1)";
let document = "(binary --flag=1 122 'yeet' true syms)";
let result = vec!["binary", "--flag=1", "122", "yeet", "true", "1"];
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
eval(&lex(&decl.to_string()).unwrap(), &mut syms).unwrap();
if let Ok(ref s) = lex(&document.to_string()) {
assert_eq!(
args_from_ast(s, &mut syms),
result
)
} else {
panic!()
}
}
#[test]
fn test_cmd_syms_unwrap_eval() {
let document = "(binary --flag=1 122 'yeet' true (add 1 2))";
let result = vec!["binary", "--flag=1", "122", "yeet", "true", "3"];
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
if let Ok(ref s) = lex(&document.to_string()) {
assert_eq!(
args_from_ast(s, &mut syms),
result
)
} else {
panic!()
}
}
}

View file

@ -8,7 +8,7 @@ mod str_lib_tests {
let result = "'test'";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -23,7 +23,7 @@ mod str_lib_tests {
let result = "'test123'";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -38,7 +38,7 @@ mod str_lib_tests {
let result = "''";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -53,7 +53,7 @@ mod str_lib_tests {
let result = 4;
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -68,7 +68,7 @@ mod str_lib_tests {
let result = 4;
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -83,7 +83,7 @@ mod str_lib_tests {
let result = 4;
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -98,7 +98,7 @@ mod str_lib_tests {
let result = 7;
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -113,7 +113,7 @@ mod str_lib_tests {
let result = 4;
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -128,7 +128,7 @@ mod str_lib_tests {
let result = "'4'";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -143,7 +143,7 @@ mod str_lib_tests {
let result = "'(1 2 3)'";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -158,7 +158,7 @@ mod str_lib_tests {
let result = "true";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -173,7 +173,7 @@ mod str_lib_tests {
let result = "false";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -188,7 +188,7 @@ mod str_lib_tests {
let result = "('one' 'two' 'three')";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -203,7 +203,7 @@ mod str_lib_tests {
let result = "('one' 'two' 'three')";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()
@ -218,7 +218,7 @@ mod str_lib_tests {
let result = "('one.two.three')";
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
assert_eq!(
*eval(&lex(&document.to_string()).unwrap(), &mut syms)
.unwrap()