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}