summaryrefslogtreecommitdiff
path: root/xc/test/xsuite/xtest/tset/XPROTO/plyfllarc/plyfllarc.m
diff options
context:
space:
mode:
Diffstat (limited to 'xc/test/xsuite/xtest/tset/XPROTO/plyfllarc/plyfllarc.m')
-rw-r--r--xc/test/xsuite/xtest/tset/XPROTO/plyfllarc/plyfllarc.m170
1 files changed, 170 insertions, 0 deletions
diff --git a/xc/test/xsuite/xtest/tset/XPROTO/plyfllarc/plyfllarc.m b/xc/test/xsuite/xtest/tset/XPROTO/plyfllarc/plyfllarc.m
new file mode 100644
index 000000000..3e3e0069f
--- /dev/null
+++ b/xc/test/xsuite/xtest/tset/XPROTO/plyfllarc/plyfllarc.m
@@ -0,0 +1,170 @@
+/*
+ * Copyright 1990, 1991 by the Massachusetts Institute of Technology and
+ * UniSoft Group Limited.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and that
+ * both that copyright notice and this permission notice appear in
+ * supporting documentation, and that the names of MIT and UniSoft not be
+ * used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. MIT and UniSoft
+ * make no representations about the suitability of this software for any
+ * purpose. It is provided "as is" without express or implied warranty.
+ *
+ * $XConsortium$
+ */
+>>TITLE PolyFillArc XPROTO
+>>SET startup protostartup
+>>SET cleanup protocleanup
+>>EXTERN
+/* Touch test for PolyFillArc request */
+
+/****************************************************************************
+ * Copyright 1988 by Sequent Computer Systems, Inc., Portland, Oregon *
+ * *
+ * *
+ * All Rights Reserved *
+ * *
+ * Permission to use, copy, modify, and distribute this software and its *
+ * documentation for any purpose and without fee is hereby granted, *
+ * provided that the above copyright notice appears in all copies and that *
+ * both that copyright notice and this permission notice appear in *
+ * supporting documentation, and that the name of Sequent not be used *
+ * in advertising or publicity pertaining to distribution or use of the *
+ * software without specific, written prior permission. *
+ * *
+ * SEQUENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING *
+ * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL *
+ * SEQUENT BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR *
+ * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, *
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, *
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS *
+ * SOFTWARE. *
+ ****************************************************************************/
+
+#include "Xstlib.h"
+
+
+#define CLIENT 0
+static TestType test_type = SETUP;
+Window win;
+xPolyFillArcReq *req;
+
+static
+void
+tester()
+{
+ Create_Client(CLIENT);
+
+ win = Create_Default_Window(CLIENT);
+ (void) Create_Default_GContext(CLIENT);
+ Map_Window(CLIENT, win);
+
+ Set_Test_Type(CLIENT, test_type);
+ req = (xPolyFillArcReq *) Make_Req(CLIENT, X_PolyFillArc);
+ Send_Req(CLIENT, (xReq *) req);
+ Set_Test_Type(CLIENT, GOOD);
+ switch(test_type) {
+ case GOOD:
+ Log_Trace("client %d sent default PolyFillArc request\n", CLIENT);
+ (void) Expect_Nothing(CLIENT);
+ Visual_Check();
+ break;
+ case BAD_LENGTH:
+ Log_Trace("client %d sent PolyFillArc request with bad length (%d)\n", CLIENT, req->length);
+ (void) Expect_BadLength(CLIENT);
+ (void) Expect_Nothing(CLIENT);
+ break;
+ case TOO_LONG:
+ case JUST_TOO_LONG:
+ Log_Trace("client %d sent overlong PolyFillArc request (%d)\n", CLIENT, req->length);
+ (void) Expect_BadLength(CLIENT);
+ (void) Expect_Nothing(CLIENT);
+ break;
+ default:
+ Log_Err("INTERNAL ERROR: test_type %d not one of GOOD(%d), BAD_LENGTH(%d), TOO_LONG(%d) or JUST_TOO_LONG(%d)\n",
+ test_type, GOOD, BAD_LENGTH, TOO_LONG, JUST_TOO_LONG);
+ Abort();
+ /*NOTREACHED*/
+ break;
+ }
+ Free_Req(req);
+ Exit_OK();
+}
+>>ASSERTION Good A
+When a client sends a valid xname protocol request to the X server,
+then the X server does not send back an error, event or reply to the client.
+>>STRATEGY
+Call library function testfunc() to do the following:
+Open a connection to the X server using native byte sex.
+Send a valid xname protocol request to the X server.
+Verify that the X server does not send back an error, event or reply.
+Open a connection to the X server using reversed byte sex.
+Send a valid xname protocol request to the X server.
+Verify that the X server does not send back an error, event or reply.
+>>CODE
+
+ test_type = GOOD;
+
+ /* Call a library function to exercise the test code */
+ testfunc(tester);
+
+>>ASSERTION Bad A
+When a client sends an invalid xname protocol request to the X server,
+in which the length field of the request is not the minimum length required to
+contain the request
+plus zero or more arcs,
+then the X server sends back a BadLength error to the client.
+>>STRATEGY
+Call library function testfunc() to do the following:
+Open a connection to the X server using native byte sex.
+Send an invalid xname protocol request to the X server with length
+ one less than the minimum length required to contain the request + zero arcs.
+Verify that the X server sends back a BadLength error.
+Open a connection to the X server using reversed byte sex.
+Send an invalid xname protocol request to the X server with length
+ one less than the minimum length required to contain the request + zero arcs.
+Verify that the X server sends back a BadLength error.
+
+Open a connection to the X server using native byte sex.
+Send an invalid xname protocol request to the X server with length
+ one greater than the minimum length required to contain the request + n arcs.
+Verify that the X server sends back a BadLength error.
+Open a connection to the X server using reversed byte sex.
+Send an invalid xname protocol request to the X server with length
+ one greater than the minimum length required to contain the request + n arcs.
+Verify that the X server sends back a BadLength error.
+>>CODE
+
+ test_type = BAD_LENGTH; /* < minimum */
+
+ /* Call a library function to exercise the test code */
+ testfunc(tester);
+
+ test_type = JUST_TOO_LONG; /* > minimum + n arcs */
+
+ /* Call a library function to exercise the test code */
+ testfunc(tester);
+
+>>ASSERTION Bad B 1
+When a client sends an invalid xname protocol request to the X server,
+in which the length field of the request exceeds the maximum length accepted
+by the X server,
+then the X server sends back a BadLength error to the client.
+>>STRATEGY
+Call library function testfunc() to do the following:
+Open a connection to the X server using native byte sex.
+Send an invalid xname protocol request to the X server with length
+ one greater than the maximum length accepted by the server.
+Verify that the X server sends back a BadLength error.
+Open a connection to the X server using reversed byte sex.
+Send an invalid xname protocol request to the X server with length
+ one greater than the maximum length accepted by the server.
+Verify that the X server sends back a BadLength error.
+>>CODE
+
+ test_type = TOO_LONG;
+
+ /* Call a library function to exercise the test code */
+ testfunc(tester);