From: Juergen Perlinger Date: Sun, 25 Oct 2020 11:25:51 +0000 (+0100) Subject: [mysterious problem] disable realpath() resolving of /dev/std* links X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d83881cafdf3861d16225bd394a9f7e1452abde;p=thirdparty%2Fntp.git [mysterious problem] disable realpath() resolving of /dev/std* links bk: 5f9560bfyEFd9_tgB0e_ImE4CF9zKQ --- diff --git a/tests/libntp/realpath.c b/tests/libntp/realpath.c index ca2f38e91..c45d36353 100644 --- a/tests/libntp/realpath.c +++ b/tests/libntp/realpath.c @@ -68,6 +68,15 @@ void test_DevLinks(void) { TEST_ASSERT_NOT_NULL_MESSAGE(dfs, "failed to open '/dev' !?!"); while (NULL != (ent = readdir(dfs))) { + /* the /dev/std{in,out,err} symlinks are prone to some + * kind of race condition under Linux, so we better skip + * them here; running tests in parallel can fail mysteriously + * otherwise. (Dunno *how* this could happen, but it + * did at some point in time, quite reliably...) + */ + if (!strncmp(ent->d_name, "std", 3)) + continue; + /* otherwise build the full name & try to resolve: */ snprintf(nam, sizeof(nam), "/dev/%s", ent->d_name); resolved = ntp_realpath(nam); TEST_ASSERT_NOT_NULL_MESSAGE(resolved, errMsg("could not resolve '%s'", nam));