add more function to test tools

This commit is contained in:
VitalyR
2019-04-05 13:31:30 +08:00
parent 80cc632ce1
commit b094bd86e8
6 changed files with 87 additions and 27 deletions

View File

@ -3,7 +3,7 @@
## The purpose ## The purpose
The 999.ICU project has many(now, the number is 3) license generator tools and it seems that the number of that will continue to grow. Thus I write this test tool to validate the functionality of the tools. The 999.ICU project has many(now, the number is 3) license generator tools and it seems that the number of that will continue to grow. Thus I write this test tool to validate the functionality of the tools.
I hope the newly added tools must add test file and pass it. I hope the newly added tools must add a test file and pass the tests.
## Usage ## Usage
For example, if you would like to add a license generator tool written by `ruby`, you just need to copy the `test_go.rs` file and rename it as `test_ruby.rs`, and replace the parameter in `arg()` of the test function. For example, if you would like to add a license generator tool written by `ruby`, you just need to copy the `test_go.rs` file and rename it as `test_ruby.rs`, and replace the parameter in `arg()` of the test function.

View File

@ -1,19 +1,23 @@
pub mod test_go;
pub mod test_py;
pub mod test_rust;
use assert_cmd::prelude::*; use assert_cmd::prelude::*;
use dir_diff; use dir_diff;
use std::process::Command; use std::process::Command;
use tempdir; use tempdir;
use tempdir::TempDir; use tempdir::TempDir;
/// todo: The python test is to be finished.. I'm having lunch now!
#[test] #[test]
fn test_go_help() { fn test_rust_help() {
let path = "../gen_license/genlicense/__init_.py"; /// todo: compile rust executive file
let mut cmd = Command::new("python"); let path = "cargo";
cmd.arg("-h"); let mut cmd = Command::new("run");
/// todo: add directory
cmd.dir("");
// assert_eq!(output, help); // assert_eq!(output, help);
let assert = cmd.assert(); let assert = cmd.assert();
assert.success().stdout( assert.success().stdout(
/// todo: replace this
r#"gen-license-go is a 996.icu license generator implemented in Go, r#"gen-license-go is a 996.icu license generator implemented in Go,
this generator is developed to generate various open-source licenses including MIT, Apache, etc. this generator is developed to generate various open-source licenses including MIT, Apache, etc.
More importantly, the main purpose of this tool is to incorporate those aforesaid licenses into More importantly, the main purpose of this tool is to incorporate those aforesaid licenses into
@ -34,20 +38,3 @@ Flags:
Use "gen-license-go [command] --help" for more information about a command."#, Use "gen-license-go [command] --help" for more information about a command."#,
); );
} }
#[test]
fn test_go_create_license_mit() {
let tmp_dir = TempDir::new("foo").expect("create temp dir failed");
let path = if cfg!(targe_os = "windows") {
"../gen-license-go/bin/windows/gen-license-go.exe"
} else if cfg!(target_os = "linux") {
"../gen-license-go/bin/linux/gen-license-go"
} else {
"../gen-license-go/bin/osx/gen-license-go"
};
let mut cmd = Command::new(&path);
cmd.arg("gen").arg("mit").arg("--996icu").args("en-us");
assert!(
!dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/mit.txt").unwrap()
);
}

View File

@ -1,3 +0,0 @@
fn main() {
println!("Hello, world!");
}

View File

@ -0,0 +1,76 @@
use assert_cmd::prelude::*;
use dir_diff;
use std::process::Command;
use tempdir;
use tempdir::TempDir;
#[test]
fn test_go_help() {
let path = "../gen_license/genlicense/__init_.py";
let mut cmd = Command::new("python");
cmd.arg("-h");
// assert_eq!(output, help);
let assert = cmd.assert();
assert.success().stdout(
r#"gen-license-go is a 996.icu license generator implemented in Go,
this generator is developed to generate various open-source licenses including MIT, Apache, etc.
More importantly, the main purpose of this tool is to incorporate those aforesaid licenses into
a brand new license: 996.icu, defined by this repository.
Usage:
gen-license-go [flags]
gen-license-go [command]
Available Commands:
gen gen is a 996.icu license generator-command.
help Help about any command
Flags:
-h, --help help for gen-license-go
-l, --list list all licenses (default true)
Use "gen-license-go [command] --help" for more information about a command."#,
);
}
#[test]
fn test_py_create_license_mit() {
let tmp_dir = TempDir::new("foo").expect("create temp dir failed");
let path = "../gen_license/genlicense/__init_.py";
let mut cmd = Command::new("python");
cmd.arg("gen").arg("mit").arg("--996icu").args("en-us");
assert!(
!dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/mit.txt").unwrap()
);
}
#[test]
fn test_py_create_license_mit() {
let tmp_dir = TempDir::new("foo").expect("create temp dir failed");
let path = "../gen_license/genlicense/__init_.py";
let mut cmd = Command::new("python");
cmd.arg("gen").arg("mit").arg("--996icu").args("en-us");
assert!(
!dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/mit.txt").unwrap()
);
}
#[test]
fn test_py_create_license_epl() {
let tmp_dir = TempDir::new("foo").expect("create temp dir failed");
let path = "../gen_license/genlicense/__init_.py";
let mut cmd = Command::new("python");
cmd.arg("gen").arg("epl").arg("--996icu").args("en-us");
assert!(
!dir_diff::is_different(&tmp_dir.path(), "../../gen-license/licenses/epl-2.txt").unwrap()
);
}
#[test]
fn test_py_create_license_gpl() {
let tmp_dir = TempDir::new("foo").expect("create temp dir failed");
let path = "../gen_license/genlicense/__init_.py";
let mut cmd = Command::new("python");
cmd.arg("gen").arg("gpl").arg("--996icu").args("en-us");
assert!(
!dir_diff::is_different(&tmp_dir.path(), "../../gen-license/licenses/gpl.txt").unwrap()
);
}