From 43742b195656d5d94030de7a4cf9fe672ca61815 Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Sun, 4 Dec 2016 19:38:21 +0100 Subject: [PATCH] Add regression test for incremental builds Ensure the build takes no more than DefaultDockerTimeout, what would suggest that S2I got stuck waiting for the timeout. --- test/integration/integration_test.go | 8 ++++++++ test/integration/scripts/.s2i/bin/save-artifacts | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/test/integration/integration_test.go b/test/integration/integration_test.go index fc153cab3..cd21efdfa 100644 --- a/test/integration/integration_test.go +++ b/test/integration/integration_test.go @@ -438,6 +438,7 @@ func (i *integrationTest) exerciseInjectionBuild(tag, imageName string, injectio func (i *integrationTest) exerciseIncrementalBuild(tag, imageName string, removePreviousImage bool, expectClean bool, checkOnBuild bool) { t := i.t + start := time.Now() config := &api.Config{ DockerConfig: docker.GetDefaultDockerConfig(), BuilderImage: imageName, @@ -505,6 +506,13 @@ func (i *integrationTest) exerciseIncrementalBuild(tag, imageName string, remove if checkOnBuild { i.fileExists(containerID, "/sti-fake/src/onbuild") } + + if took := time.Since(start); took > docker.DefaultDockerTimeout { + // https://github.com/openshift/source-to-image/issues/301 is a + // case where incremental builds would get stuck until the + // timeout. + t.Errorf("Test took too long (%v), some operation may have gotten stuck waiting for the DefaultDockerTimeout (%v). Inspect the logs to find operations that took long.", took, docker.DefaultDockerTimeout) + } } // Support methods diff --git a/test/integration/scripts/.s2i/bin/save-artifacts b/test/integration/scripts/.s2i/bin/save-artifacts index e7ea28a56..f29cfc72f 100755 --- a/test/integration/scripts/.s2i/bin/save-artifacts +++ b/test/integration/scripts/.s2i/bin/save-artifacts @@ -3,3 +3,7 @@ touch /tmp/src/save-artifacts-invoked cd /tmp/src tar cf - . + +# Write some zeros to stdout to mimic the padding that Debian's tar adds +# https://github.com/openshift/source-to-image/issues/301#issuecomment-263598586 +dd count=1 if=/dev/zero 2> /dev/null