From: Clément Bénier Date: Tue, 21 Aug 2018 16:54:10 +0000 (+0200) Subject: test exec: waiting exit event after exec cmd X-Git-Tag: 5.99.5~2^2 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;ds=sidebyside;h=refs%2Fheads%2Fsandbox%2Fbenierc%2Ftest;p=src%2Fxds%2Fxds-server.git test exec: waiting exit event after exec cmd Change-Id: I355f9a55e9641ce60c787b8b02f84f35bccc8e67 Signed-off-by: Clément Bénier --- 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")