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

@ -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)