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