diff packages/compat/posix/current/tests/tm_basic.cxx @ 177:4c750ce71ae3

Merge from eCos master repository on 2001-08-10-19:22:57-BST
author jlarmour
date Fri, 10 Aug 2001 19:27:55 +0000
parents ac086aa3217e
children e0c0827131d1
line wrap: on
line diff
--- a/packages/compat/posix/current/tests/tm_basic.cxx
+++ b/packages/compat/posix/current/tests/tm_basic.cxx
@@ -31,13 +31,48 @@
 //==========================================================================
 //#####DESCRIPTIONBEGIN####
 //
-// Author(s):     gthomas
-// Contributors:  gthomas
+// Author(s):     gthomas,nickg
+// Contributors:  jlarmour
 // Date:          1998-10-19
 // Description:   Very simple kernel timing test
 //####DESCRIPTIONEND####
 //==========================================================================
 
+
+#include <cyg/infra/testcase.h>
+#include <pkgconf/posix.h>
+#include <pkgconf/system.h>
+#ifdef CYGPKG_KERNEL
+#include <pkgconf/kernel.h>
+#endif
+
+#ifndef CYGPKG_POSIX_SIGNALS
+#define NA_MSG "No POSIX signals"
+#elif !defined(CYGPKG_POSIX_TIMERS)
+#define NA_MSG "No POSIX timers"
+#elif !defined(CYGPKG_POSIX_PTHREAD)
+#define NA_MSG "POSIX threads not enabled"
+#elif !defined(CYGFUN_KERNEL_API_C)
+#define NA_MSG "Kernel C API not enabled"
+#elif !defined(CYGSEM_KERNEL_SCHED_MLQUEUE)
+#define NA_MSG "Kernel mlqueue scheduler not enabled"
+#elif !defined(CYGVAR_KERNEL_COUNTERS_CLOCK)
+#define NA_MSG "Kernel clock not enabled"
+#elif CYGNUM_KERNEL_SCHED_PRIORITIES <= 12
+#define NA_MSG "Kernel scheduler properties <= 12"
+#endif
+
+//==========================================================================
+
+#ifdef NA_MSG
+extern "C" void
+cyg_start(void)
+{
+    CYG_TEST_INIT();
+    CYG_TEST_NA(NA_MSG);
+}
+#else
+
 #include <pkgconf/kernel.h>
 #include <pkgconf/hal.h>
 
@@ -74,15 +109,6 @@
 
 //==========================================================================
 
-#if defined(CYGPKG_POSIX) &&                    \
-    defined(CYGFUN_KERNEL_API_C) &&             \
-    defined(CYGSEM_KERNEL_SCHED_MLQUEUE) &&     \
-    defined(CYGVAR_KERNEL_COUNTERS_CLOCK) &&    \
-    !defined(CYGDBG_INFRA_DIAG_USE_DEVICE) &&   \
-    (CYGNUM_KERNEL_SCHED_PRIORITIES > 12)
-
-//==========================================================================
-
 // Structure used to keep track of times
 typedef struct fun_times {
     cyg_uint32 start;
@@ -1656,18 +1682,6 @@ int main( int argc, char **argv )
    
 }
 
-#else // CYGFUN_KERNEL_API_C
-
-int main( int argc, char **argv )
-{
-    CYG_TEST_INIT();
-    CYG_TEST_NA("Timing tests require:\n"
-                "CYGFUN_KERNEL_API_C && \n"
-                "CYGSEM_KERNEL_SCHED_MLQUEUE &&\n"
-                "CYGVAR_KERNEL_COUNTERS_CLOCK &&\n"
-                "!CYGDBG_INFRA_DIAG_USE_DEVICE &&\n"
-                "(CYGNUM_KERNEL_SCHED_PRIORITIES > 12)\n");
-}
 #endif // CYGFUN_KERNEL_API_C, etc.
 
 // EOF tm_basic.cxx