Skip to content

Commit

Permalink
tabs -> spaces
Browse files Browse the repository at this point in the history
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
  • Loading branch information
n1hility committed Sep 14, 2023
1 parent a1fd44a commit ff347b8
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 70 deletions.
130 changes: 65 additions & 65 deletions test/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,104 +4,104 @@
package e2e

import (
"os"
"os/exec"
"path/filepath"
"time"

"github.com/n1hility/winquit/pkg/winquit"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
"os"
"os/exec"
"path/filepath"
"time"

"github.com/n1hility/winquit/pkg/winquit"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)

var WINQUIT_PATH = filepath.Join("..", "bin", "winquit.exe")

var _ = Describe("perquisites", func() {
It("winquit binary is built", func() {
_, err := os.Stat(WINQUIT_PATH)
Expect(err).ShouldNot(HaveOccurred())
})
It("winquit binary is built", func() {
_, err := os.Stat(WINQUIT_PATH)
Expect(err).ShouldNot(HaveOccurred())
})
})

var _ = Describe("client", func() {
It("request quit should kill thidparty(winver) process", func() {
cmd := exec.Command("winver")
verifyRequestQuit(cmd, 5, true)
})
It("request quit should kill thidparty(winver) process", func() {
cmd := exec.Command("winver")
verifyRequestQuit(cmd, 5, true)
})
})

var _ = Describe("client", func() {
It("request quit kills winquit simple server", func() {
cmd := exec.Command(WINQUIT_PATH, "simple-server")
verifyRequestQuit(cmd, 5, true)
})
It("request quit kills winquit simple server", func() {
cmd := exec.Command(WINQUIT_PATH, "simple-server")
verifyRequestQuit(cmd, 5, true)
})
})

var _ = Describe("client", func() {
It("request quit kills winquit multi-server", func() {
cmd := exec.Command(WINQUIT_PATH, "multi-server")
verifyRequestQuit(cmd, 5, true)
})
It("request quit kills winquit multi-server", func() {
cmd := exec.Command(WINQUIT_PATH, "multi-server")
verifyRequestQuit(cmd, 5, true)
})
})

var _ = Describe("client", func() {
It("request quit kills winquit signal server", func() {
cmd := exec.Command(WINQUIT_PATH, "signal-server")
verifyRequestQuit(cmd, 5, true)
})
It("request quit kills winquit signal server", func() {
cmd := exec.Command(WINQUIT_PATH, "signal-server")
verifyRequestQuit(cmd, 5, true)
})
})

var _ = Describe("client", func() {
It("request quit does not kill winquit hang server", func() {
cmd := exec.Command(WINQUIT_PATH, "hang-server")
verifyRequestQuit(cmd, 1, false)
})
It("request quit does not kill winquit hang server", func() {
cmd := exec.Command(WINQUIT_PATH, "hang-server")
verifyRequestQuit(cmd, 1, false)
})
})

var _ = Describe("client", func() {
It("demand quit does kill winquit hang server", func() {
cmd := exec.Command(WINQUIT_PATH, "hang-server")
verifyForceQuit(cmd, 1, 5, true)
})
It("demand quit does kill winquit hang server", func() {
cmd := exec.Command(WINQUIT_PATH, "hang-server")
verifyForceQuit(cmd, 1, 5, true)
})
})

func verifyRequestQuit(cmd *exec.Cmd, timeout int, outcome bool) {
verifyStart(cmd)
winquit.RequestQuit(cmd.Process.Pid)
verifyExit(cmd, timeout, outcome)
verifyStart(cmd)
winquit.RequestQuit(cmd.Process.Pid)
verifyExit(cmd, timeout, outcome)
}

func verifyForceQuit(cmd *exec.Cmd, forceTimeout int, timeout int, outcome bool) {
verifyStart(cmd)
winquit.QuitProcess(cmd.Process.Pid, time.Duration(forceTimeout)*time.Second)
verifyExit(cmd, timeout, outcome)
verifyStart(cmd)
winquit.QuitProcess(cmd.Process.Pid, time.Duration(forceTimeout)*time.Second)
verifyExit(cmd, timeout, outcome)
}

func verifyStart(cmd *exec.Cmd) {
err := cmd.Start()
Expect(err).ShouldNot(HaveOccurred())
time.Sleep(100 * time.Millisecond)
Expect(cmd.ProcessState).To(BeNil())
_, err = os.FindProcess(cmd.Process.Pid)
Expect(err).ShouldNot(HaveOccurred())
err := cmd.Start()
Expect(err).ShouldNot(HaveOccurred())
time.Sleep(100 * time.Millisecond)
Expect(cmd.ProcessState).To(BeNil())
_, err = os.FindProcess(cmd.Process.Pid)
Expect(err).ShouldNot(HaveOccurred())
}

func verifyExit(cmd *exec.Cmd, timeout int, outcome bool) {
completed := make(chan bool)
go func() {
cmd.Wait()
completed <- true
}()

result := false
select {
case <-completed:
result = true
case <-time.After(time.Duration(timeout) * time.Second):
}

Expect(result).To(Equal(outcome))
if !outcome {
cmd.Process.Kill()
}
completed := make(chan bool)
go func() {
cmd.Wait()
completed <- true
}()

result := false
select {
case <-completed:
result = true
case <-time.After(time.Duration(timeout) * time.Second):
}

Expect(result).To(Equal(outcome))
if !outcome {
cmd.Process.Kill()
}
}
10 changes: 5 additions & 5 deletions test/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
package e2e

import (
"testing"
"testing"

. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)

func TestTest(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Test Suite")
RegisterFailHandler(Fail)
RunSpecs(t, "Test Suite")
}

0 comments on commit ff347b8

Please sign in to comment.