aboutsummaryrefslogtreecommitdiffstats
path: root/executor/test.h
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2024-12-05 10:54:22 +0100
committerAlexander Potapenko <glider@google.com>2024-12-05 10:57:12 +0000
commiteb3349184a5429659f9ce67be9166fc4634d8020 (patch)
tree5cb0ccb634f5b17439c9d1b5bf4ecea7c3f27549 /executor/test.h
parent8c86a475f5d807fe4cf26fb366871a55402e38d6 (diff)
executor: arm: disable test_glob
Glob() doesn't work on 32-bit ARM when run on a 64-bit system under QEMU: https://gitlab.com/qemu-project/qemu/-/issues/263 Not sure whether this is specific to tests running under qemu-user, or the ARM32 executor in the wild as well.
Diffstat (limited to 'executor/test.h')
-rw-r--r--executor/test.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/executor/test.h b/executor/test.h
index ed6e7e82b..ba318dece 100644
--- a/executor/test.h
+++ b/executor/test.h
@@ -319,6 +319,12 @@ static void must_symlink(const char* oldpath, const char* linkpath)
static int test_glob()
{
+#if GOARCH_arm
+ // When running a 32-bit ARM binary on a 64-bit system under QEMU, readdir() fails
+ // with EOVERFLOW, resulting in Glob() returning 0 files.
+ // Tracking QEMU bug: https://gitlab.com/qemu-project/qemu/-/issues/263.
+ return -1;
+#endif
// Note: pkg/runtest.TestExecutor creates a temp dir for the test,
// so we create files in cwd and don't clean up.
if (!test_one_glob("glob/*", {}))