Merge pull request #22925 from jstarks/fix_integration_test
pkg/integration: Port tests to Windows
This commit is contained in:
commit
c6179c0b10
1 changed files with 17 additions and 15 deletions
|
@ -14,30 +14,32 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestIsKilledFalseWithNonKilledProcess(t *testing.T) {
|
func TestIsKilledFalseWithNonKilledProcess(t *testing.T) {
|
||||||
// TODO Windows: Port this test
|
var lsCmd *exec.Cmd
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS != "windows" {
|
||||||
t.Skip("Needs porting to Windows")
|
lsCmd = exec.Command("ls")
|
||||||
|
} else {
|
||||||
|
lsCmd = exec.Command("cmd", "/c", "dir")
|
||||||
}
|
}
|
||||||
|
|
||||||
lsCmd := exec.Command("ls")
|
err := lsCmd.Run()
|
||||||
lsCmd.Start()
|
|
||||||
// Wait for it to finish
|
|
||||||
err := lsCmd.Wait()
|
|
||||||
if IsKilled(err) {
|
if IsKilled(err) {
|
||||||
t.Fatalf("Expected the ls command to not be killed, was.")
|
t.Fatalf("Expected the ls command to not be killed, was.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestIsKilledTrueWithKilledProcess(t *testing.T) {
|
func TestIsKilledTrueWithKilledProcess(t *testing.T) {
|
||||||
// TODO Windows: Using golang 1.5.3, this seems to hit
|
var longCmd *exec.Cmd
|
||||||
// a bug in go where Process.Kill() causes a panic.
|
if runtime.GOOS != "windows" {
|
||||||
// Needs further investigation @jhowardmsft
|
longCmd = exec.Command("top")
|
||||||
if runtime.GOOS == "windows" {
|
} else {
|
||||||
t.SkipNow()
|
longCmd = exec.Command("powershell", "while ($true) { sleep 1 }")
|
||||||
}
|
}
|
||||||
longCmd := exec.Command("top")
|
|
||||||
// Start a command
|
// Start a command
|
||||||
longCmd.Start()
|
err := longCmd.Start()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
// Capture the error when *dying*
|
// Capture the error when *dying*
|
||||||
done := make(chan error, 1)
|
done := make(chan error, 1)
|
||||||
go func() {
|
go func() {
|
||||||
|
@ -46,7 +48,7 @@ func TestIsKilledTrueWithKilledProcess(t *testing.T) {
|
||||||
// Then kill it
|
// Then kill it
|
||||||
longCmd.Process.Kill()
|
longCmd.Process.Kill()
|
||||||
// Get the error
|
// Get the error
|
||||||
err := <-done
|
err = <-done
|
||||||
if !IsKilled(err) {
|
if !IsKilled(err) {
|
||||||
t.Fatalf("Expected the command to be killed, was not.")
|
t.Fatalf("Expected the command to be killed, was not.")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue