<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.
</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/833254fb298e5bc6da66bf58c6c515cd72259578">https://github.com/macports/macports-legacy-support/commit/833254fb298e5bc6da66bf58c6c515cd72259578</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 833254fb298e5bc6da66bf58c6c515cd72259578
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Mon Nov 4 22:54:48 2024 -0800
<span style='display:block; white-space:pre;color:#404040;'> Fix realpath_nonext for 10.15.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This excludes testing the non-POSIX version on 10.15, which has a bug
</span><span style='display:block; white-space:pre;color:#404040;'> (Apple's).
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Also reverses order of nonposix cases, for consistency, and expands
</span><span style='display:block; white-space:pre;color:#404040;'> the comment.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'> Now passes on all platforms.
</span>---
test/test_realpath_nonext.c | 33 +++++++++++++++++++++++++++++++++
test/test_realpath_nonposix.c | 16 +++++++++-------
2 files changed, 42 insertions(+), 7 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/test/test_realpath_nonext.c b/test/test_realpath_nonext.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 0305a65..c571cbc 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/test/test_realpath_nonext.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/test/test_realpath_nonext.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,6 +2,39 @@
</span> * Version of test_realpath with Darwin extensions disabled.
*/
<span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * NOTE: This version of realpath() is completely broken on 10.15.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * This is not the fault of legacy-support, since we don't currently modify
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * the OS realpath() behavior on 10.6+. Unless and until we provide a fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * for that OS bug, we need to carve out an exemption in this test for 10.15,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * to avoid an undeserved test failure.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * For simplicity, the OS version test is based on the build-target version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * rather than checking the actual version at runtime. This means that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * running this test on a different OS version than the one it was built
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * for may not have the desired result.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101500 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 110000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <libgen.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+main(int argc, char *argv[])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (void) argc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ printf("%s is being skipped on 10.15 due to OS brokenness.\n",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ basename(argv[0]));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else /* Not 10.15 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #define _POSIX_C_SOURCE 200112L
#include "test_realpath.c"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* Not 10.15 */
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/test/test_realpath_nonposix.c b/test/test_realpath_nonposix.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 9870aac..c176903 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/test/test_realpath_nonposix.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/test/test_realpath_nonposix.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +1,10 @@
</span> /*
* Version of test_realpath with non-POSIX semantics (32-bit only).
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Attempting a 64-bit build with _NONSTD_SOURCE results in an error.
</span> */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#if !defined(__LP64__) || !__LP64__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#define _NONSTD_SOURCE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#include "test_realpath.c"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if defined(__LP64__) && __LP64__
</span>
#include <libgen.h>
#include <stdio.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,4 +17,9 @@ main(int argc, char *argv[])
</span> return 0;
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else /* 32-bit */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _NONSTD_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include "test_realpath.c"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* 32-bit */
</span></pre><pre style='margin:0'>
</pre>