summaryrefslogtreecommitdiffstats
path: root/lib/libaccess/utest/testmain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libaccess/utest/testmain.cpp')
-rw-r--r--lib/libaccess/utest/testmain.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/libaccess/utest/testmain.cpp b/lib/libaccess/utest/testmain.cpp
new file mode 100644
index 00000000..4da14cee
--- /dev/null
+++ b/lib/libaccess/utest/testmain.cpp
@@ -0,0 +1,52 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright 2001 Sun Microsystems, Inc.
+ * Portions copyright 1999, 2001-2003 Netscape Communications Corporation.
+ * All rights reserved.
+ * END COPYRIGHT BLOCK **/
+/*
+ * ACL parser unit test program
+ */
+
+#include <stdio.h>
+#include <netsite.h>
+#include <libaccess/acl.h>
+#include <libaccess/nserror.h>
+#include "../aclpriv.h"
+#include <libaccess/aclproto.h>
+
+main(int argc, char **argv)
+{
+
+ACLListHandle_t *acllist;
+int ii;
+char filename[255];
+ACLWrapper_t *wrap;
+ACLExprHandle_t *expr;
+
+ if ( argc < 2 ) {
+ fprintf(stderr, "usage: aclparse <filenames>\n");
+ exit(1);
+ }
+ for (ii = 1; ii < argc; ii++ ) {
+ acllist = ACL_ParseFile(NULL, argv[ii]);
+ if ( acllist == NULL ) {
+ printf("Failed to parse ACL.\n");
+
+ } else {
+ for (wrap = acllist->acl_list_head; wrap;
+ wrap = wrap->wrap_next) {
+ for (expr=wrap->acl->expr_list_head;
+ expr;
+ expr = expr->expr_next ) {
+ ACL_ExprDisplay(expr);
+ }
+ }
+ }
+
+
+ sprintf(filename, "%s.v30", argv[ii]);
+ ACL_WriteFile(NULL, filename, acllist);
+ ACL_ListDestroy( acllist );
+ }
+
+}