<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/fbca791c0fd0c55d429df26e1452170f295043bf">https://github.com/macports/macports-legacy-support/commit/fbca791c0fd0c55d429df26e1452170f295043bf</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit fbca791c0fd0c55d429df26e1452170f295043bf
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Wed Jan 15 10:26:54 2025 -0800
<span style='display:block; white-space:pre;color:#404040;'> Add fstatx_np() tests with NULL fsec.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Since the NULL fsec case doesn't have the 10.4 Rosetta bug, it should
</span><span style='display:block; white-space:pre;color:#404040;'> be tested separately.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Also fixes misplaced fclose() in previous fstatx_np() tests.
</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;'> Passes on all platforms, including with Rosetta.
</span>---
test/test_stat.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/test/test_stat.c b/test/test_stat.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 9fd49e2..68242d3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/test/test_stat.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/test/test_stat.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -470,6 +470,16 @@ main(int argc, char *argv[])
</span> assert(S_ISLNK(get_mode(0)) && "lstatx_np expected symlink");
check_copy(0, 1);
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" testing 'fstatx_np with NULL fsec'\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Use fopen() to steer clear of open()/close() variant issues. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assert((fp = fopen(source_link, "r")) != NULL && "open of source failed");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stat_init(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stat_err = fstatx_np(fileno(fp), &stat_buf.s.s, NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (check_err("fstatx_np")) return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assert(S_ISREG(get_mode(0)) && "fstat expected regular file");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ check_copy(0, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (void) fclose(fp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if (arch_ok()) {
if (verbose) printf(" testing 'fstatx_np'\n");
/* Use fopen() to steer clear of open()/close() variant issues. */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -479,6 +489,7 @@ main(int argc, char *argv[])
</span> if (check_err("fstatx_np")) return 1;
assert(S_ISREG(get_mode(0)) && "fstat expected regular file");
check_copy(0, 0);
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ (void) fclose(fp);
</span> } else {
if (verbose) printf(" avoiding 'fstatx_np' due to Rosetta bug\n");
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -506,6 +517,16 @@ main(int argc, char *argv[])
</span> assert(S_ISLNK(get_mode(1)) && "lstatx64_np expected symlink");
check_copy(1, 1);
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (verbose) printf(" testing 'fstatx64_np with NULL fsec'\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Use fopen() to steer clear of open()/close() variant issues. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assert((fp = fopen(source_link, "r")) != NULL && "open of source failed");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stat_init(1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stat_err = fstatx64_np(fileno(fp), &stat_buf.s64.s, NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (check_err("fstatx64_np")) return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assert(S_ISREG(get_mode(1)) && "fstatx64_np expected regular file");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ check_copy(1, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (void) fclose(fp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if (arch_ok()) {
if (verbose) printf(" testing 'fstatx64_np'\n");
/* Use fopen() to steer clear of open()/close() variant issues. */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -515,12 +536,11 @@ main(int argc, char *argv[])
</span> if (check_err("fstatx64_np")) return 1;
assert(S_ISREG(get_mode(1)) && "fstatx64_np expected regular file");
check_copy(1, 0);
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ (void) fclose(fp);
</span> } else {
if (verbose) printf(" avoiding 'fstatx64_np' due to Rosetta bug\n");
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- (void) fclose(fp);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> #endif /* __MPLS_HAVE_STAT64 */
filesec_free(fsec);
</pre><pre style='margin:0'>
</pre>