diff packages/language/c/libc/current/tests/stdlib/div.c @ 2:443894e2e912 ecos-v1_2_1-release

Block commit of eCos version 1.2.1
author jlarmour
date Tue, 11 May 1999 12:24:34 +0000
parents 3111d98ba7b3
children c38311975d4f
line wrap: on
line diff
--- a/packages/language/c/libc/current/tests/stdlib/div.c
+++ b/packages/language/c/libc/current/tests/stdlib/div.c
@@ -22,16 +22,16 @@
 // September 30, 1998.
 // 
 // The Initial Developer of the Original Code is Cygnus.  Portions created
-// by Cygnus are Copyright (C) 1998 Cygnus Solutions.  All Rights Reserved.
+// by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions.  All Rights Reserved.
 // -------------------------------------------
 //
 //####COPYRIGHTEND####
 //=================================================================
 //#####DESCRIPTIONBEGIN####
 //
-// Author(s):     ctarpy@cygnus.co.uk, jlarmour@cygnus.co.uk
-// Contributors:    jlarmour@cygnus.co.uk
-// Date:          1998/6/3
+// Author(s):     ctarpy, jlarmour
+// Contributors:  jlarmour
+// Date:          1999-03-03
 // Description:   Contains testcode for C library div() function
 //
 //
@@ -42,10 +42,6 @@
 // TESTCASE_TYPE=CYG_TEST_MODULE
 // COMPOUND_TESTCASE
 
-// CONFIGURATION
-
-#include <pkgconf/libc.h>   // Configuration header
-
 // INCLUDES
 
 #include <stdlib.h>
@@ -57,28 +53,21 @@
 externC void
 cyg_package_start( void )
 {
-#ifdef CYGPKG_LIBC
     cyg_iso_c_start();
-#else
-    (void)main(0, NULL);
-#endif
 } // cyg_package_start()
 
 
 int
 main( int argc, char *argv[] )
 {
-#ifdef CYGPKG_LIBC
     int num, denom;
     div_t result;
-#endif
 
     CYG_TEST_INIT();
 
     CYG_TEST_INFO("Starting tests from testcase " __FILE__ " for C library "
                   "div() function");
 
-#ifdef CYGPKG_LIBC
     num = 10232;
     denom = 43;
     result = div(num, denom);
@@ -98,9 +87,30 @@ main( int argc, char *argv[] )
     CYG_TEST_PASS_FAIL( (result.quot==1) && (result.rem==0),
                         "div( 20, 20 )");
 
-#else // ifndef CYGPKG_LIBC
-    CYG_TEST_PASS("Testing is not applicable to this configuration");
-#endif // ifndef CYGPKG_LIBC
+    num = -5;
+    denom = 4;
+    result = div(num, denom);
+    CYG_TEST_PASS_FAIL( (result.quot==-1) && (result.rem==-1),
+                        "div( -5, 4 )");
+
+    num = 5;
+    denom = -4;
+    result = div(num, denom);
+    CYG_TEST_PASS_FAIL( (result.quot==-1) && (result.rem==1),
+                        "div( 5, -4 )");
+
+    num = -5;
+    denom = -3;
+    result = div(num, denom);
+    CYG_TEST_PASS_FAIL( (result.quot==1) && (result.rem==-2),
+                        "div( -5, -3 )");
+
+    num = -7;
+    denom = -7;
+    result = div(num, denom);
+    CYG_TEST_PASS_FAIL( (result.quot==1) && (result.rem==0),
+                        "div( -7, -7 )");
+
 
     CYG_TEST_FINISH("Finished tests from testcase " __FILE__ " for C library "
                     "div() function");