From 5e74354030fe88e038a6fc1b3f4c2321df150352 Mon Sep 17 00:00:00 2001 From: Frederic Berat Date: Fri, 16 Dec 2022 06:42:45 +0100 Subject: [PATCH v3] tests: Fix implicit function declaration in ax/depcomp.sh In-Reply-To: <20230113064804.580F5340B54@smtp.gentoo.org> Change since v2: - Replace the mv operation by a cp operation to ensure that subfoo.h is considered being modified. -- 8< -- In depcomp.sh, the following occurs: 1. Files are created so that headers and units are available in subdirectories 2. Multiple "make" are executed, while modifying the content of the headers, some should fail, others should succeed. 3. At the end, the "sub/subfoo.h" header gets removed. 4. make is executed again, which is expected to succeed. Yet, with c99, this can't work as the subfoo.h header contains declaration that are used by foo.c. Thus, we need to get them back, either by inserting the declaration in foo.c (or any other header/unit), or by restoring subfoo.h to its original state. The later solution seems the easiest path, being less intrusive in depcomp.sh. --- t/ax/depcomp.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/t/ax/depcomp.sh b/t/ax/depcomp.sh index 7a3ac63a7..c92f7c8df 100644 --- a/t/ax/depcomp.sh +++ b/t/ax/depcomp.sh @@ -243,6 +243,7 @@ cat > sub/subfoo.h <<'END' #include extern int subfoo (void); END +cp sub/subfoo.h sub/subfoo.save cat > src/baz.c <<'END' #include "baz.h" @@ -399,8 +400,7 @@ do_test () && rewrite "$srcdir"/sub/subfoo.h echo 'choke me' \ && not $MAKE \ && delete "$srcdir"/sub/subfoo.h \ - && edit "$srcdir"/sub/subfoo.c -e 1d \ - && edit "$srcdir"/foo.h -e 2d \ + && cp "$srcdir"/sub/subfoo.save "$srcdir"/sub/subfoo.h \ && make_ok \ || r='not ok' result_ "$r" "$pfx dependency tracking works" -- 2.39.0