github.com/haya14busa/goverage@v0.0.0-20180129164344-eec3514a20b5/main_test.go (about) 1 package main 2 3 import ( 4 "io/ioutil" 5 "os" 6 "testing" 7 ) 8 9 func TestRun(t *testing.T) { 10 tmpfile, err := ioutil.TempFile("", "goverage-test") 11 if err != nil { 12 t.Fatal(err) 13 } 14 defer os.Remove(tmpfile.Name()) 15 wd, err := os.Getwd() 16 if err != nil { 17 t.Fatal(err) 18 } 19 if err := os.Chdir("./example/root"); err != nil { 20 t.Fatal(err) 21 } 22 defer os.Chdir(wd) 23 24 if err := run(tmpfile.Name(), []string{"./..."}, "count", "", "", "", false, true); err != nil { 25 t.Fatal(err) 26 } 27 b, err := ioutil.ReadFile(tmpfile.Name()) 28 if err != nil { 29 t.Fatal(err) 30 } 31 got := string(b) 32 wb, err := ioutil.ReadFile("coverage.ok") 33 if err != nil { 34 t.Fatal(err) 35 } 36 want := string(wb) 37 if got != want { 38 t.Errorf("got:\n%v\nwant:\n%v", got, want) 39 } 40 } 41 42 func TestRun_with_test_failed(t *testing.T) { 43 tmpfile, err := ioutil.TempFile("", "goverage-test") 44 if err != nil { 45 t.Fatal(err) 46 } 47 defer os.Remove(tmpfile.Name()) 48 wd, err := os.Getwd() 49 if err != nil { 50 t.Fatal(err) 51 } 52 if err := os.Chdir("./example/fail"); err != nil { 53 t.Fatal(err) 54 } 55 defer os.Chdir(wd) 56 err = run(tmpfile.Name(), []string{"./..."}, "", "", "", "", false, true) 57 if err, ok := err.(*ExitError); !ok || err.Code != 1 { 58 t.Fatalf("unexpected error: %v", err) 59 } 60 b, err := ioutil.ReadFile(tmpfile.Name()) 61 if err != nil { 62 t.Fatal(err) 63 } 64 got := string(b) 65 wb, err := ioutil.ReadFile("coverage.ok") 66 if err != nil { 67 t.Fatal(err) 68 } 69 want := string(wb) 70 if got != want { 71 t.Errorf("got:\n%v\nwant:\n%v", got, want) 72 } 73 }