From 2fb2226b666e7a8a21dc8b852188b75c06e2cfc8 Mon Sep 17 00:00:00 2001 From: Clément Bénier Date: Tue, 21 Aug 2018 18:54:10 +0200 Subject: test exec: waiting exit event after exec cmd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I355f9a55e9641ce60c787b8b02f84f35bccc8e67 Signed-off-by: Clément Bénier --- test/exec_test.go | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/test/exec_test.go b/test/exec_test.go index 1ab781a..884ba87 100644 --- a/test/exec_test.go +++ b/test/exec_test.go @@ -22,7 +22,6 @@ import ( "os/exec" "path" "testing" - "time" "gerrit.automotivelinux.org/gerrit/src/xds/xds-server/lib/xsapiv1" "github.com/stretchr/testify/assert" @@ -44,17 +43,6 @@ func InitExec(t *testing.T) string { return helloworldDir } -/*flush channel with timeout*/ -func flushChannelExec(channel chan xsapiv1.ExecOutMsg, ms time.Duration) { - timeoutB := false - for !timeoutB { - select { - case <-channel: - case <-time.After(ms * time.Millisecond): - timeoutB = true - } - } -} func TestExec(t *testing.T) { helloworldDir := InitExec(t) /*channel for SDK events*/ @@ -88,10 +76,10 @@ func TestExec(t *testing.T) { assert.NotNil(t, cfg) /*channel for ExecOutMsg*/ - chExec := make(chan xsapiv1.ExecOutMsg) + chExec := make(chan xsapiv1.ExecExitMsg) defer close(chExec) /*connect to ExecOutEvent*/ - sCli.Conn.On(xsapiv1.ExecOutEvent, func(ev xsapiv1.ExecOutMsg) { + sCli.Conn.On(xsapiv1.ExecExitEvent, func(ev xsapiv1.ExecExitMsg) { chExec <- ev }) @@ -117,7 +105,8 @@ func TestExec(t *testing.T) { var execRes xsapiv1.ExecArgs Debugf(t, "exec cmake cmd(%v)", cmd) assert.Nil(t, HTTPCli.Post("/exec", exec, &execRes)) - flushChannelExec(chExec, 1000) //waiting for execOutMsg + exitMsg := <-chExec + assert.Equal(t, exitMsg.Code, 0) /*make helloworld project with fake sdk*/ cmd = "source " + sdkSourceFile @@ -133,7 +122,8 @@ func TestExec(t *testing.T) { /*post exec cmd make*/ Debugf(t, "exec make cmd(%v)", cmd) assert.Nil(t, HTTPCli.Post("/exec", exec, &execRes)) - flushChannelExec(chExec, 1000) //waiting for execOutMsg + exitMsg = <-chExec + assert.Equal(t, exitMsg.Code, 0) /*check if helloworld.so exists*/ Debug(t, "check that helloworld.so exists") -- cgit 1.2.3-korg