From 03436d2ec2ab485b4f3196690e9a267bf0d42d30 Mon Sep 17 00:00:00 2001 From: Tiago Natel de Moura Date: Mon, 21 Dec 2020 11:00:46 +0000 Subject: [PATCH] Tests: introduced a separate cache directory for Go builds. The Go compiler can't detect changes to C header files when compiling CGO applications, and then this leads to Go test samples being linked with wrong libunit. This patch creates a new cache directory reused throughout the test suite. --- test/conftest.py | 4 ++++ test/unit/applications/lang/go.py | 1 + 2 files changed, 5 insertions(+) diff --git a/test/conftest.py b/test/conftest.py index c14e3f68..c2a320de 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -69,6 +69,9 @@ def pytest_configure(config): option.architecture = platform.architecture()[0] option.system = platform.system() + option.cache_dir = tempfile.mkdtemp(prefix='unit-test-cache-') + public_dir(option.cache_dir) + # set stdout to non-blocking if option.detailed or option.print_log: @@ -434,3 +437,4 @@ def is_su(request): def pytest_sessionfinish(session): unit_stop() + shutil.rmtree(option.cache_dir) diff --git a/test/unit/applications/lang/go.py b/test/unit/applications/lang/go.py index 70f9d58c..a17b1af4 100644 --- a/test/unit/applications/lang/go.py +++ b/test/unit/applications/lang/go.py @@ -12,6 +12,7 @@ class TestApplicationGo(TestApplicationProto): env = os.environ.copy() env['GOPATH'] = option.current_dir + '/build/go' + env['GOCACHE'] = option.cache_dir + '/go' if static: args = [