[13/15] Move all tests out of csu.

Message ID f05d2c7a-6967-ce4b-9a85-1d156300fc08@redhat.com
State New
Headers show

Commit Message

Florian Weimer Dec. 21, 2016, 1:36 p.m.
On 12/19/2016 12:15 PM, Nix wrote:
> From: Nick Alcock <nick.alcock@oracle.com>

>

> Stack-protection on .o files in csu/ must be suppressed for the sake of

> library startup code.  This also suppresses stack-protection in tests

> (which are also covered by CFLAGS-.o), though this is neither necessary

> nor desirable.

>

> So impose the rule that .o files in csu/ are necessarily C startup code,

> and move the few tests in there into misc/ instead.

>

> v10: New.

>

> 	* csu/Makefile (tests): Move this...

> 	(tests-static): ... and this...

> 	* misc/Makefile (tests): ... to here...

> 	(tests-static): ... and here.

>         * csu/tst-empty.c: Move to...

>         * misc/tst-empty.c: ... here.

>         * csu/tst-atomic.c: Move to...

>         * misc/tst-atomic.c: ... here.

>         * csu/tst-atomic-long.c: Move to...

>         * misc/tst-atomic-long.c: ... here.


I committed this variant of the patch.

Thanks,
Florian

Patch hide | download patch | download mbox

Move all tests out of the csu subdirectory

Stack-protection on .o files in csu/ must be suppressed for the sake of
library startup code.  This also suppresses stack-protection in tests
(which are also covered by CFLAGS-.o), though this is neither necessary
nor desirable.

So impose the rule that .o files in csu/ are necessarily C startup code,
and move the few tests in there into misc/ instead.

2016-12-21  Nick Alcock <nick.alcock@oracle.com>
	    Florian Weimer  <fweimer@redhat.com>

	[BZ #7065]
	* csu/Makefile (tests): Empty assignment and document it.
	(tests-static): Remove.
	* csu/tst-empty.c: Move to...
	* misc/tst-empty.c: ... here.  Switch to new test driver.
	* csu/tst-atomic.c: Move to...
	* misc/tst-atomic.c: ... here.  Switch to new test driver.
	* csu/tst-atomic-long.c: Move to...
	* misc/tst-atomic-long.c: ... here.
	* misc/Makefile (tests): Add tst-empty, tst-atomic,
	tst-atomic-long.
	(tests-static): Add tst-empty.

diff --git a/csu/Makefile b/csu/Makefile
index 31e8bb9..3d23f13 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -42,8 +42,9 @@  install-lib = $(start-installed-name) g$(start-installed-name) $(csu-dummies)
 generated += version-info.h
 before-compile += $(objpfx)version-info.h
 
-tests := tst-empty tst-atomic tst-atomic-long
-tests-static := tst-empty
+# No tests are allowed in the csu/ subdirectory because the startup
+# code is compiled with special flags.
+tests =
 
 ifeq (yes,$(build-shared))
 extra-objs += S$(start-installed-name) gmon-start.os
diff --git a/misc/Makefile b/misc/Makefile
index 3d2ebb8..d241dae 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -79,7 +79,10 @@  gpl2lgpl := error.c error.h
 tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
 	 tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1 \
 	 tst-mntent-blank-corrupt tst-mntent-blank-passno bug18240 \
-	 tst-preadvwritev tst-preadvwritev64 tst-makedev
+	 tst-preadvwritev tst-preadvwritev64 tst-makedev tst-empty \
+	 tst-atomic tst-atomic-long
+tests-static := tst-empty
+
 ifeq ($(run-built-tests),yes)
 tests-special += $(objpfx)tst-error1-mem.out
 endif
diff --git a/csu/tst-atomic-long.c b/misc/tst-atomic-long.c
similarity index 100%
rename from csu/tst-atomic-long.c
rename to misc/tst-atomic-long.c
diff --git a/csu/tst-atomic.c b/misc/tst-atomic.c
diff --git a/csu/tst-atomic.c b/misc/tst-atomic.c
similarity index 99%
rename from csu/tst-atomic.c
rename to misc/tst-atomic.c
+++ b/misc/tst-atomic.c
@@ -636,5 +636,4 @@  do_test (void)
   return ret;
 }
 
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/csu/tst-empty.c b/misc/tst-empty.c
similarity index 58%
rename from csu/tst-empty.c
rename to misc/tst-empty.c
+++ b/misc/tst-empty.c
@@ -5,5 +5,4 @@  do_test (void)
   return 0;
 }
 
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
+#include <support/test-driver.c>