From: Paul Floyd Date: Wed, 20 Aug 2025 20:22:51 +0000 (+0200) Subject: FreeBSD regtest: add an absolute path test to readlinkat test X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a411cd675ddece58abb814212b227077a4e35a7d;p=thirdparty%2Fvalgrind.git FreeBSD regtest: add an absolute path test to readlinkat test --- diff --git a/none/tests/freebsd/readlinkat.cpp b/none/tests/freebsd/readlinkat.cpp index 8b33a8b63..25c142f4d 100644 --- a/none/tests/freebsd/readlinkat.cpp +++ b/none/tests/freebsd/readlinkat.cpp @@ -7,21 +7,24 @@ int main() { - char path[MAXPATHLEN]; char linkedPath[MAXPATHLEN]; char currentDirectory[MAXPATHLEN]; - char parentDirectory[MAXPATHLEN]; getcwd(currentDirectory, MAXPATHLEN); + std::string absolutePath{currentDirectory}; + absolutePath += "/readlinkat_link.cpp"; ssize_t res = readlinkat(AT_FDCWD, "readlinkat_link.cpp", linkedPath, MAXPATHLEN); if (res == -1) { std::cerr << "Error: readlinkat test 1 failed\n"; } - if (!strcmp(linkedPath, "readlink.cpp")) + else { - std::cerr << "Error: readlinkat test 1 unexpected resolved path - " << linkedPath << '\n'; + if (!strcmp(linkedPath, "readlink.cpp")) + { + std::cerr << "Error: readlinkat test 1 unexpected resolved path - " << linkedPath << '\n'; + } } int dotdot; @@ -32,13 +35,16 @@ int main() else { res = readlinkat(dotdot, "freebsd/readlinkat_link.cpp", linkedPath, MAXPATHLEN); - if (res == -1) + if (res == -1) { std::cerr << "Error: readlinkat test 2 failed\n"; } - if (!strcmp(linkedPath, "readlink.cpp")) + else { - std::cerr << "Error: readlinkat test 2 unexpected resolved path - " << linkedPath << '\n'; + if (!strcmp(linkedPath, "readlink.cpp")) + { + std::cerr << "Error: readlinkat test 2 unexpected resolved path - " << linkedPath << '\n'; + } } } close(dotdot); @@ -53,4 +59,16 @@ int main() { std::cerr << "Error: readlinkat test 3 unexpected resolved path - " << linkedPath << '\n'; } + + int uninit; + res = readlinkat(uninit, absolutePath.c_str(), linkedPath, MAXPATHLEN); + if (res == -1) + { + std::cerr << "Error: readlinkat test 4 failed\n"; + } + if (!strcmp(linkedPath, "readlink.cpp")) + { + std::cerr << "Error: readlinkat test 4 unexpected resolved path - " << linkedPath << '\n'; + } + }