Skip to main content

rash_core/
lib.rs

1#![allow(clippy::derive_partial_eq_without_eq)]
2
3pub mod context;
4pub mod docopt;
5pub mod error;
6pub mod jinja;
7pub mod job;
8pub mod logger;
9pub mod modules;
10pub mod task;
11pub mod utils;
12pub mod vars;
13
14#[macro_use]
15extern crate log;
16#[macro_use]
17extern crate serde_json;
18
19#[cfg(test)]
20mod tests {
21    use super::*;
22
23    use context::{Context, GlobalParams};
24    use task::parse_file;
25    use vars::env;
26
27    #[test]
28    fn test_command_ls() {
29        let file = r#"
30            #!/bin/rash
31            - name: test ls
32              command: ls
33
34            - command:
35                cmd: ls /
36            "#;
37
38        let global_params = GlobalParams::default();
39        let context = Context::new(
40            parse_file(file, &global_params).unwrap(),
41            env::load(vec![]),
42            None,
43        );
44        let last_context = context.exec().unwrap();
45
46        assert!(last_context.tasks.is_empty());
47    }
48}