OSSP CVS Repository

ossp - Check-in [4142]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 4142
Date: 2001-Jul-04 17:55:06 (local)
2001-Jul-04 15:55:06 (UTC)
User:simons
Branch:
Comment: Added first attempt of a regression test suite. Currently the library does not survive the very first test. :-)
Tickets:
Inspections:
Files:
ossp-pkg/xds/regression-tests/Makefile      1.1 -> 1.2     6 inserted, 6 deleted
ossp-pkg/xds/regression-tests/core.c      added-> 1.1

ossp-pkg/xds/regression-tests/Makefile 1.1 -> 1.2

--- Makefile     2001/07/04 15:09:55     1.1
+++ Makefile     2001/07/04 15:55:06     1.2
@@ -2,27 +2,27 @@
 
 CC              = gcc
 
-WARNFLAGS       = -Wall -ansi -pedantic
+WARNFLAGS       = -Wall -ansi -pedantic -Werror
 OPTFLAGS        = -O3 -pipe
 CPPFLAGS        =
 CFLAGS          =
-LDFLAGS         =
+LDFLAGS         = -L..
 
-TESTS           = test1.exe
+TESTS           = core.exe
 
 .SUFFIXES:
 .SUFFIXES:      .c .exe
 
 .c.exe:
-        $(CC) $(CPPFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $<
+        $(CC) $(CPPFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< -lxds
 
 .cpp.exe:
-        $(CXX) $(CPPFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $<
+        $(CXX) $(CPPFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $< -lxds
 
 all:    $(TESTS)
 
 check:  all
-        ./.run-tests *.exe
+        @./.run-tests $(TESTS)
 
 clean::
         rm -f $(TESTS) *.log


ossp-pkg/xds/regression-tests/core.c -> 1.1

*** /dev/null    Sat Nov 23 05:48:05 2024
--- -    Sat Nov 23 05:48:07 2024
***************
*** 0 ****
--- 1,75 ----
+ /*
+    XDS - OSSP Extensible Data Serialization Library
+    Copyright (c) 2001 The OSSP Project (http://www.ossp.org/)
+    Copyright (c) 2001 Cable & Wireless Deutschland (http://www.cw.com/de/)
+ 
+    This file is part of OSSP XDS, an extensible data serialization
+    library which can be found at http://www.ossp.com/pkg/xds/.
+ 
+    Permission to use, copy, modify, and distribute this software for
+    any purpose with or without fee is hereby granted, provided that
+    the above copyright notice and this permission notice appear in all
+    copies.
+ 
+    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+    USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+    OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+    SUCH DAMAGE.
+ */
+ 
+ #include <stdio.h>
+ #include <errno.h>
+ #include "../internal.h"
+ 
+ int main()
+     {
+     xds_t* ctx[50];
+     size_t i;
+ 
+     /* Open a bunch of contextes and close them again. */
+ 
+     for(i = 0; i < sizeof(ctx)/sizeof(xds_t*); ++i)
+        {
+        if (i % 2 == 0)
+            ctx[i] = xds_init(XDS_ENCODE);
+        else
+            ctx[i] = xds_init(XDS_DECODE);
+ 
+        if (ctx[i] == 0)
+            {
+            printf("Failed to initialize xds context: i = %d\n", i);
+            return 1;
+            }
+        }
+ 
+     for(i = 0; i < sizeof(ctx)/sizeof(xds_t*); ++i)
+        xds_destroy(ctx[i]);
+ 
+ 
+     /* Check how the library deals with errorneous arguments. */
+ 
+     if (xds_init((xds_mode_t)42) != NULL || errno != EINVAL)
+        {
+        printf("Called xds_init() with invalid mode but didn't get EINVAL.\n");
+        return 1;
+        }
+ 
+ 
+     /* Call xds_destroy() with an invalid context and see whether we
+        survive that. */
+ 
+     xds_destroy(NULL);
+ 
+ 
+     /* Everything went fine. */
+ 
+     return 0;
+     }

CVSTrac 2.0.1