@@ -20,28 +20,25 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <support/check.h>
+
+void try (const char *name, long long int param, int value, int expected)
+{
+ if (value != expected)
+ {
+ printf ("%s(%#llx) expected %d got %d\n",
+ name, param, expected, value);
+ support_record_failure ();
+ }
+ else
+ printf ("%s(%#llx) as expected %d\n", name, param, value);
+}
int
do_test (void)
{
- int failures = 0;
int i;
- auto void try (const char *name, long long int param, int value,
- int expected);
-
- void try (const char *name, long long int param, int value, int expected)
- {
- if (value != expected)
- {
- printf ("%s(%#llx) expected %d got %d\n",
- name, param, expected, value);
- ++failures;
- }
- else
- printf ("%s(%#llx) as expected %d\n", name, param, value);
- }
-
#define TEST(fct, type) \
try (#fct, 0, fct ((type) 0), 0); \
for (i=0 ; i < 8 * sizeof (type); i++) \
@@ -54,12 +51,7 @@ do_test (void)
TEST (ffsl, long int);
TEST (ffsll, long long int);
- if (failures)
- printf ("Test FAILED! %d failure%s.\n", failures, &"s"[failures == 1]);
- else
- puts ("Test succeeded.");
-
- return failures;
+ return 0;
}
#include <support/test-driver.c>