aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Douheret <sebastien.douheret@iot.bzh>2018-10-19 22:16:11 +0200
committerSebastien Douheret <sebastien.douheret@iot.bzh>2018-10-22 12:16:57 +0000
commit777f88336442c887552fb3353db93a5ed5b4ff74 (patch)
tree8985830bf3d7fb635c99f86519f7d8391b37c054
parent5fa00200173151a25a45777e17c0926b7082e953 (diff)
Fix tests
Change-Id: I9b8dbe26bfe6d1d32cbce09a89b7d0f47d7ef4b5 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
-rw-r--r--.vscode/launch.json1
-rw-r--r--Makefile3
-rw-r--r--test/exec_test.go45
-rw-r--r--test/fixtures/helloworld/helloworld/CMakeLists.txt6
-rwxr-xr-xtest/fixtures/poky-agl-glibc-x86_64-gcc_crosssdk-native_x86_64-toolchain-1.0.2.shbin2002 -> 2074 bytes
-rw-r--r--test/main_test.go17
6 files changed, 44 insertions, 28 deletions
diff --git a/.vscode/launch.json b/.vscode/launch.json
index c12c80c..a5b082c 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -24,6 +24,7 @@
"program": "${workspaceRoot}/test",
"env": {
"GOPATH": "${workspaceRoot}/../../../../../..:${env:GOPATH}",
+ "VERBOSE": 1,
},
"args": ["-test.v", "-test.run", ".*"],
"showLog": false
diff --git a/Makefile b/Makefile
index 64ba5a3..f0ae0b3 100644
--- a/Makefile
+++ b/Makefile
@@ -232,8 +232,9 @@ checkgover:
.PHONY: help
help:
@echo "Main supported rules:"
- @echo " all (default)"
+ @echo " all (default)"
@echo " build"
+ @echo " test (use: name=TestExec to run a specific test)"
@echo " package"
@echo " install"
@echo " clean"
diff --git a/test/exec_test.go b/test/exec_test.go
index 884ba87..f4d1ac4 100644
--- a/test/exec_test.go
+++ b/test/exec_test.go
@@ -38,7 +38,9 @@ func InitExec(t *testing.T) string {
/*clone submodules app templates into helloworld*/
subHelloworldAppTemplateDir := path.Join(helloworldDir, "conf.d", "app-templates")
- cmd = exec.Command("git", "clone", "https://gerrit.automotivelinux.org/gerrit/p/apps/app-templates.git", subHelloworldAppTemplateDir)
+ cmd = exec.Command("git", "clone", "-b", "flounder",
+ "https://gerrit.automotivelinux.org/gerrit/p/apps/app-templates.git",
+ subHelloworldAppTemplateDir)
assert.Nil(t, cmd.Run())
return helloworldDir
}
@@ -75,21 +77,35 @@ func TestExec(t *testing.T) {
assert.Nil(t, HTTPCli.Post("/folders", fPrj, &cfg))
assert.NotNil(t, cfg)
- /*channel for ExecOutMsg*/
+ /*channel for ExecExitMsg*/
chExec := make(chan xsapiv1.ExecExitMsg)
defer close(chExec)
- /*connect to ExecOutEvent*/
sCli.Conn.On(xsapiv1.ExecExitEvent, func(ev xsapiv1.ExecExitMsg) {
chExec <- ev
})
+ /*Collect commands output in */
+ cmdOut := ""
+ sCli.Conn.On(xsapiv1.ExecOutEvent, func(ev xsapiv1.ExecOutMsg) {
+ cmdOut += ev.Stdout + ev.Stderr
+ })
+
+ /*basic check: verify that environment is set correctly (use the right sdk)*/
+ var execRes xsapiv1.ExecArgs
+ cmd := "pwd && echo \"SDKTARGETSYSROOT=<$SDKTARGETSYSROOT>\""
+ exec := xsapiv1.ExecArgs{
+ ID: cfg.ID,
+ Cmd: cmd,
+ SdkID: sdkRes.ID,
+ }
+ Debugf(t, "exec cmake cmd(%v)", cmd)
+ cmdOut = ""
+ assert.Nil(t, HTTPCli.Post("/exec", exec, &execRes))
+ exitMsg := <-chExec
+ assert.Equal(t, exitMsg.Code, 0)
+
/*cmake helloworld project with fake sdk*/
- sdkSourceFile := path.Join(sdkRes.Path, "environment-setup-corei7-64-native-linux")
- cmd := "source " + sdkSourceFile
- cmd = cmd + " && "
- cmd = cmd + "unset SDKTARGETSYSROOT"
- cmd = cmd + " && "
- cmd = cmd + "cd " + fPrj.ClientPath
+ cmd = "cd " + fPrj.ClientPath
cmd = cmd + " && "
cmd = cmd + "mkdir -p build"
cmd = cmd + " && "
@@ -98,22 +114,17 @@ func TestExec(t *testing.T) {
cmd = cmd + "cmake .."
/*post exec cmd cmake*/
- exec := xsapiv1.ExecArgs{
+ exec = xsapiv1.ExecArgs{
ID: cfg.ID,
Cmd: cmd,
}
- var execRes xsapiv1.ExecArgs
Debugf(t, "exec cmake cmd(%v)", cmd)
assert.Nil(t, HTTPCli.Post("/exec", exec, &execRes))
- exitMsg := <-chExec
+ exitMsg = <-chExec
assert.Equal(t, exitMsg.Code, 0)
/*make helloworld project with fake sdk*/
- cmd = "source " + sdkSourceFile
- cmd = cmd + " && "
- cmd = cmd + "unset SDKTARGETSYSROOT"
- cmd = cmd + " && "
- cmd = cmd + "cd " + fPrj.ClientPath
+ cmd = "cd " + fPrj.ClientPath
cmd = cmd + "&&"
cmd = cmd + "cd build"
cmd = cmd + "&&"
diff --git a/test/fixtures/helloworld/helloworld/CMakeLists.txt b/test/fixtures/helloworld/helloworld/CMakeLists.txt
index 373a6f5..d8a5b26 100644
--- a/test/fixtures/helloworld/helloworld/CMakeLists.txt
+++ b/test/fixtures/helloworld/helloworld/CMakeLists.txt
@@ -25,12 +25,12 @@ PROJECT_TARGET_ADD(helloworld)
# Binder exposes a unique public entry point
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
- PREFIX ""
+ PREFIX ""
LABELS "BINDING"
- LINK_FLAGS ${BINDINGS_LINK_FLAG}
+ LINK_FLAGS ${BINDINGS_LINK_FLAG}
OUTPUT_NAME ${TARGET_NAME}
)
TARGET_LINK_LIBRARIES(${TARGET_NAME}
- ${link_libraries}
+ ${link_libraries}
)
diff --git a/test/fixtures/poky-agl-glibc-x86_64-gcc_crosssdk-native_x86_64-toolchain-1.0.2.sh b/test/fixtures/poky-agl-glibc-x86_64-gcc_crosssdk-native_x86_64-toolchain-1.0.2.sh
index 7781335..d5949a9 100755
--- a/test/fixtures/poky-agl-glibc-x86_64-gcc_crosssdk-native_x86_64-toolchain-1.0.2.sh
+++ b/test/fixtures/poky-agl-glibc-x86_64-gcc_crosssdk-native_x86_64-toolchain-1.0.2.sh
Binary files differ
diff --git a/test/main_test.go b/test/main_test.go
index 4889991..ced75a6 100644
--- a/test/main_test.go
+++ b/test/main_test.go
@@ -47,18 +47,21 @@ var HTTPCli *common.HTTPClient
var logDir string
var sCli *IOSockClient
+// Debug function used to print debug logs
func Debug(t *testing.T, args ...interface{}) {
if os.Getenv("VERBOSE") != "" {
- t.Log(args)
+ t.Log(args...)
}
}
+// Debugf function used to print debug logs
func Debugf(t *testing.T, format string, args ...interface{}) {
if os.Getenv("VERBOSE") != "" {
- t.Logf(format, args)
+ t.Logf(format, args...)
}
}
+// Copy copies from src to dst until either EOF
func Copy(src, dst string) error {
in, err := os.Open(src)
if err != nil {
@@ -144,17 +147,17 @@ func getHTTPClient(lvl int) (*common.HTTPClient, *os.File) {
LogPrefix: "XDSSERVERTEST: ",
LogLevel: lvl,
}
- cli, err := common.HTTPNewClient(prefixURL, conf)
+ HTTPcli, err := common.HTTPNewClient(prefixURL, conf)
if err != nil {
log.Fatal(err)
}
- log.Printf("HTTP session ID : %v", cli.GetClientID())
+ log.Printf("HTTP session ID : %v", HTTPcli.GetClientID())
var ver xsapiv1.Version
- err = cli.Get("/version", &ver)
+ err = HTTPcli.Get("/version", &ver)
if err != nil {
log.Fatal(err)
}
- return cli, file
+ return HTTPcli, file
}
func NewIoSocketClient(url, clientID string) (*IOSockClient, error) {
@@ -191,7 +194,7 @@ func NewIoSocketClient(url, clientID string) (*IOSockClient, error) {
}
func TestMain(m *testing.M) {
/* useful for debugging, preventing from launching xds-server
- * it can be launch separetly */
+ * it can be launch separately */
launchProcess := true
log.Printf("TestMain: launchProcess is %v, so launching xds-server", launchProcess)
initEnv(launchProcess)