You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ts...@apache.org on 2022/03/23 07:09:38 UTC

[camel-k] branch main updated (32415fa -> 158dae7)

This is an automated email from the ASF dual-hosted git repository.

tsato pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git.


    from 32415fa  Updated CHANGELOG.md
     new d38a3f0  test(e2e): improve local e2e tests
     new 158dae7  chore(e2e): temporarily disable flaky local e2e test

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 e2e/local/local_build_test.go                     | 14 ++-------
 e2e/local/local_run_test.go                       | 28 +++++++++++------
 e2e/{common/cli/version_test.go => local/util.go} | 37 ++++++++++++++---------
 3 files changed, 44 insertions(+), 35 deletions(-)
 copy e2e/{common/cli/version_test.go => local/util.go} (63%)

[camel-k] 02/02: chore(e2e): temporarily disable flaky local e2e test

Posted by ts...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tsato pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 158dae79bbe715e59401b71876b109033197cb27
Author: Tadayoshi Sato <sa...@gmail.com>
AuthorDate: Wed Mar 23 14:38:25 2022 +0900

    chore(e2e): temporarily disable flaky local e2e test
---
 e2e/local/local_run_test.go | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/e2e/local/local_run_test.go b/e2e/local/local_run_test.go
index 86d7391..e016b01 100644
--- a/e2e/local/local_run_test.go
+++ b/e2e/local/local_run_test.go
@@ -23,6 +23,7 @@ package local
 import (
 	"context"
 	"io"
+	"os"
 	"strings"
 	"testing"
 
@@ -90,6 +91,10 @@ func TestLocalRunContainerize(t *testing.T) {
 func TestLocalRunIntegrationDirectory(t *testing.T) {
 	RegisterTestingT(t)
 
+	if os.Getenv("CI") == "true" {
+		t.Skip("TODO: Temporarily disabled as this test is flaky and hangs the test process")
+	}
+
 	ctx1, cancel1 := context.WithCancel(TestContext)
 	defer cancel1()
 

[camel-k] 01/02: test(e2e): improve local e2e tests

Posted by ts...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tsato pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit d38a3f004106f8b883bb4fe8dc6dd052313c87ff
Author: Tadayoshi Sato <sa...@gmail.com>
AuthorDate: Tue Mar 8 15:18:01 2022 +0900

    test(e2e): improve local e2e tests
---
 e2e/local/local_build_test.go | 14 ++----------
 e2e/local/local_run_test.go   | 23 ++++++++++++--------
 e2e/local/util.go             | 50 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 66 insertions(+), 21 deletions(-)

diff --git a/e2e/local/local_build_test.go b/e2e/local/local_build_test.go
index 9e8bbed..8388d83 100644
--- a/e2e/local/local_build_test.go
+++ b/e2e/local/local_build_test.go
@@ -24,7 +24,6 @@ import (
 	"context"
 	"fmt"
 	"io"
-	"os/exec"
 	"strings"
 	"testing"
 
@@ -40,15 +39,6 @@ import (
 // TODO: read version for the Camel catalog
 var camelVersion = "3.14.1"
 
-func getDockerImages() []byte {
-	cmd := exec.CommandContext(TestContext, "docker", "images")
-	out, err := cmd.Output()
-	if err != nil {
-		panic(err)
-	}
-	return out
-}
-
 func TestLocalBuild(t *testing.T) {
 	RegisterTestingT(t)
 
@@ -75,7 +65,7 @@ func TestLocalBuild(t *testing.T) {
 
 	Eventually(logScanner.IsFound(msgTagged), TestTimeoutMedium).Should(BeTrue())
 	Eventually(logScanner.IsFound(image), TestTimeoutMedium).Should(BeTrue())
-	Eventually(getDockerImages, TestTimeoutShort).Should(ContainSubstring(image))
+	Eventually(DockerImages, TestTimeoutShort).Should(ContainSubstring(image))
 }
 
 func TestLocalBuildWithTrait(t *testing.T) {
@@ -106,7 +96,7 @@ func TestLocalBuildWithTrait(t *testing.T) {
 	Eventually(logScanner.IsFound(msgWarning), TestTimeoutMedium).Should(BeTrue())
 	Eventually(logScanner.IsFound(msgTagged), TestTimeoutMedium).Should(BeTrue())
 	Eventually(logScanner.IsFound(image), TestTimeoutMedium).Should(BeTrue())
-	Eventually(getDockerImages, TestTimeoutMedium).Should(ContainSubstring(image))
+	Eventually(DockerImages, TestTimeoutMedium).Should(ContainSubstring(image))
 }
 
 func dependency(dir string, jar string, params ...interface{}) string {
diff --git a/e2e/local/local_run_test.go b/e2e/local/local_run_test.go
index 4a8b1a0..86d7391 100644
--- a/e2e/local/local_run_test.go
+++ b/e2e/local/local_run_test.go
@@ -23,13 +23,15 @@ package local
 import (
 	"context"
 	"io"
+	"strings"
 	"testing"
 
 	. "github.com/onsi/gomega"
 	"github.com/stretchr/testify/assert"
 
 	. "github.com/apache/camel-k/e2e/support"
-	"github.com/apache/camel-k/e2e/support/util"
+	testutil "github.com/apache/camel-k/e2e/support/util"
+	"github.com/apache/camel-k/pkg/util"
 )
 
 func TestLocalRun(t *testing.T) {
@@ -41,12 +43,12 @@ func TestLocalRun(t *testing.T) {
 	defer pipew.Close()
 	defer piper.Close()
 
-	file := util.MakeTempCopy(t, "files/yaml.yaml")
+	file := testutil.MakeTempCopy(t, "files/yaml.yaml")
 
 	kamelRun := KamelWithContext(ctx, "local", "run", file)
 	kamelRun.SetOut(pipew)
 
-	logScanner := util.NewLogScanner(ctx, piper, "Magicstring!")
+	logScanner := testutil.NewLogScanner(ctx, piper, "Magicstring!")
 
 	go func() {
 		err := kamelRun.Execute()
@@ -66,13 +68,15 @@ func TestLocalRunContainerize(t *testing.T) {
 	defer pipew.Close()
 	defer piper.Close()
 
-	file := util.MakeTempCopy(t, "files/yaml.yaml")
+	file := testutil.MakeTempCopy(t, "files/yaml.yaml")
+	image := "test/test-" + strings.ToLower(util.RandomString(10))
 
-	kamelRun := KamelWithContext(ctx, "local", "run", file, "--image", "test/test", "--containerize")
+	kamelRun := KamelWithContext(ctx, "local", "run", file, "--image", image, "--containerize")
 	kamelRun.SetOut(pipew)
 
-	logScanner := util.NewLogScanner(ctx, piper, "Magicstring!")
+	logScanner := testutil.NewLogScanner(ctx, piper, "Magicstring!")
 
+	defer StopDockerContainers()
 	go func() {
 		err := kamelRun.Execute()
 		assert.NoError(t, err)
@@ -80,6 +84,7 @@ func TestLocalRunContainerize(t *testing.T) {
 	}()
 
 	Eventually(logScanner.IsFound("Magicstring!"), TestTimeoutMedium).Should(BeTrue())
+	Eventually(DockerImages, TestTimeoutShort).Should(ContainSubstring(image))
 }
 
 func TestLocalRunIntegrationDirectory(t *testing.T) {
@@ -88,8 +93,8 @@ func TestLocalRunIntegrationDirectory(t *testing.T) {
 	ctx1, cancel1 := context.WithCancel(TestContext)
 	defer cancel1()
 
-	file := util.MakeTempCopy(t, "files/yaml.yaml")
-	dir := util.MakeTempDir(t)
+	file := testutil.MakeTempCopy(t, "files/yaml.yaml")
+	dir := testutil.MakeTempDir(t)
 
 	kamelBuild := KamelWithContext(ctx1, "local", "build", file, "--integration-directory", dir)
 
@@ -112,7 +117,7 @@ func TestLocalRunIntegrationDirectory(t *testing.T) {
 	kamelRun := KamelWithContext(ctx2, "local", "run", "--integration-directory", dir)
 	kamelRun.SetOut(pipew)
 
-	logScanner := util.NewLogScanner(ctx2, piper, "Magicstring!")
+	logScanner := testutil.NewLogScanner(ctx2, piper, "Magicstring!")
 
 	go func() {
 		err := kamelRun.Execute()
diff --git a/e2e/local/util.go b/e2e/local/util.go
new file mode 100644
index 0000000..1cbd7d0
--- /dev/null
+++ b/e2e/local/util.go
@@ -0,0 +1,50 @@
+//go:build integration
+// +build integration
+
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package local
+
+import (
+	"os/exec"
+	"strings"
+
+	. "github.com/apache/camel-k/e2e/support"
+)
+
+func Docker(args ...string) string {
+	cmd := exec.CommandContext(TestContext, "docker", args...)
+	out, err := cmd.Output()
+	if err != nil {
+		panic(err)
+	}
+	return string(out)
+}
+
+func DockerImages() string {
+	return Docker("images")
+}
+
+func StopDockerContainers() {
+	output := Docker("container", "list", "--quiet")
+	containers := strings.Fields(output)
+	if len(containers) > 0 {
+		args := append([]string{"stop"}, containers...)
+		Docker(args...)
+	}
+}