POSIX conditional compilation:

* All features related to POSIX environments (env vars, shell stuff) gated by feature flags
* Dependencies optional per feature flags
* new CI target for non-POSIX build
* new CI target for release binary artifact

Signed-off-by: Ava Hahn [ava@sunnypup.io](mailto:ava@sunnypup.io)
This commit is contained in:
Ava Apples Affine 2023-05-26 06:41:18 +00:00
parent 5e15109b0c
commit 906cb16355
13 changed files with 330 additions and 319 deletions

View file

@ -9,8 +9,8 @@ mod posix_tests {
let result = vec!["binary"];
let mut syms = SymTable::new();
static_stdlib(&mut syms).unwrap();
dynamic_stdlib(&mut syms, None).unwrap();
static_stdlib(&mut syms);
dynamic_stdlib(&mut syms, None);
if let Ok(ref s) = lex(&document.to_string()) {
assert_eq!(
@ -28,8 +28,8 @@ mod posix_tests {
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();
static_stdlib(&mut syms);
dynamic_stdlib(&mut syms, None);
if let Ok(ref s) = lex(&document.to_string()) {
assert_eq!(
@ -47,8 +47,8 @@ mod posix_tests {
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();
static_stdlib(&mut syms);
dynamic_stdlib(&mut syms, None);
if let Ok(ref s) = lex(&document.to_string()) {
assert_eq!(
@ -67,8 +67,8 @@ mod posix_tests {
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();
static_stdlib(&mut syms);
dynamic_stdlib(&mut syms, None);
eval(&lex(&decl.to_string()).unwrap(), &mut syms).unwrap();
@ -88,8 +88,8 @@ mod posix_tests {
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();
static_stdlib(&mut syms);
dynamic_stdlib(&mut syms, None);
if let Ok(ref s) = lex(&document.to_string()) {
assert_eq!(