]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/language/c/libc/stdlib/v2_0/tests/abs.c
Initial revision
[karo-tx-redboot.git] / packages / language / c / libc / stdlib / v2_0 / tests / abs.c
1 //=================================================================
2 //
3 //        abs.c
4 //
5 //        Testcase for C library abs()
6 //
7 //=================================================================
8 //####ECOSGPLCOPYRIGHTBEGIN####
9 // -------------------------------------------
10 // This file is part of eCos, the Embedded Configurable Operating System.
11 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12 //
13 // eCos is free software; you can redistribute it and/or modify it under
14 // the terms of the GNU General Public License as published by the Free
15 // Software Foundation; either version 2 or (at your option) any later version.
16 //
17 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20 // for more details.
21 //
22 // You should have received a copy of the GNU General Public License along
23 // with eCos; if not, write to the Free Software Foundation, Inc.,
24 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25 //
26 // As a special exception, if other files instantiate templates or use macros
27 // or inline functions from this file, or you compile this file and link it
28 // with other works to produce a work based on this file, this file does not
29 // by itself cause the resulting work to be covered by the GNU General Public
30 // License. However the source code for this file must still be made available
31 // in accordance with section (3) of the GNU General Public License.
32 //
33 // This exception does not invalidate any other reasons why a work based on
34 // this file might be covered by the GNU General Public License.
35 //
36 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37 // at http://sources.redhat.com/ecos/ecos-license/
38 // -------------------------------------------
39 //####ECOSGPLCOPYRIGHTEND####
40 //=================================================================
41 //#####DESCRIPTIONBEGIN####
42 //
43 // Author(s):     ctarpy, jlarmour
44 // Contributors:  
45 // Date:          2000-04-30
46 // Description:   Contains testcode for C library abs() function
47 //
48 //
49 //####DESCRIPTIONEND####
50
51 // INCLUDES
52
53 #include <stdlib.h>
54 #include <limits.h>
55 #include <cyg/infra/testcase.h>
56
57 // FUNCTIONS
58
59 int
60 main( int argc, char *argv[] )
61 {
62     int x;
63
64     CYG_TEST_INIT();
65
66     CYG_TEST_INFO("Starting tests from testcase " __FILE__ " for C "
67                   "library abs() function");
68
69     // Check 1
70     x = 5;
71     CYG_TEST_PASS_FAIL( abs(x) == 5, "abs(5)");
72
73     // Check 2
74     x = -5;
75     CYG_TEST_PASS_FAIL( abs(x) == 5, "abs(-5)");
76     
77     // Check 3
78     x = 12345;
79     CYG_TEST_PASS_FAIL( abs(x) == 12345, "abs(12345)");
80
81     // Check 4
82     x = -23456;
83     CYG_TEST_PASS_FAIL( abs(x) == 23456, "abs(-23456");
84
85     // Check 5
86     x = 0;
87     CYG_TEST_PASS_FAIL( abs(x) == 0, "abs(0)");
88
89     // Check 6
90     x = INT_MAX;
91     CYG_TEST_PASS_FAIL( abs(x) == INT_MAX, "abs(INT_MAX)");
92
93     // Check 7
94     x = -INT_MAX;
95     CYG_TEST_PASS_FAIL( abs(x) == INT_MAX, "abs(-INT_MAX)");
96
97     CYG_TEST_FINISH("Finished tests from testcase " __FILE__ " for C "
98                     "library abs() function");
99
100 } // main()
101
102 // EOF abs.c