diff options
| author | Tong Sun <[email protected]> | 2023-05-02 11:43:05 -0400 |
|---|---|---|
| committer | Tong Sun <[email protected]> | 2023-05-02 11:43:05 -0400 |
| commit | e4b81799cb506b628bef992d7294c9b4774eca9b (patch) | |
| tree | 24e99f99bd41abff08357c6250f7bbcc67cf7057 | |
| parent | - [!] fix CI/CD build (diff) | |
| download | html2md-e4b81799cb506b628bef992d7294c9b4774eca9b.tar.xz html2md-e4b81799cb506b628bef992d7294c9b4774eca9b.zip | |
- [+] add prop_test.go from jsonfiddle
| -rw-r--r-- | prop_test.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/prop_test.go b/prop_test.go new file mode 100644 index 0000000..6e73a53 --- /dev/null +++ b/prop_test.go @@ -0,0 +1,51 @@ +package main_test + +import ( + "bytes" + "os" + "os/exec" + "strings" + "testing" +) + +// testIt runs @cmdTest with @argv and compares the generated +// output for @name with the corresponding @extRef reference file +func testIt(t *testing.T, name string, argv ...string) { + var ( + diffOut bytes.Buffer + generatedOutput = name + extGot + cmd = exec.Command(cmdTest, argv...) + ) + + t.Logf("Testing %s:\n\t%s %s\n", name, cmdTest, strings.Join(argv, " ")) + + // open the out file for writing + outfile, err := os.Create(generatedOutput) + if err != nil { + t.Errorf("write error [%s: %s] %s.", name, argv, err) + } + defer outfile.Close() + cmd.Stdout = outfile + + err = cmd.Start() + if err != nil { + t.Errorf("start error [%s: %s] %s.", name, argv, err) + } + err = cmd.Wait() + if err != nil { + t.Errorf("exit error [%s: %s] %s.", name, argv, err) + } + + cmd = exec.Command("diff", "-U1", name+extRef, generatedOutput) + cmd.Stdout = &diffOut + + err = cmd.Start() + if err != nil { + t.Errorf("start error %s [%s: %s]", err, name, argv) + } + err = cmd.Wait() + if err != nil { + t.Errorf("cmp error %s [%s: %s]\n%s", err, name, argv, diffOut.String()) + } + //os.Remove(generatedOutput) +} |