s3-printing: Fix vlp testprinter application.
authorGünther Deschner <gd@samba.org>
Tue, 12 May 2009 09:41:14 +0000 (11:41 +0200)
committerGünther Deschner <gd@samba.org>
Tue, 12 May 2009 09:41:14 +0000 (11:41 +0200)
Jeremy, we cannot just access cache_path() here without calling lp_load and
friends as well as parsing configfile from the commandline in order to make
"make test/selftest" find the correct conffile with path, etc.

I just changed it to pass the target tdbfilename as an argument, ok ?

Guenther

selftest/target/Samba3.pm
source3/printing/tests/vlp.c
source3/script/tests/selftest.sh

index 3a51e6f4b2892cb87ee985ffe0134e548b800b2f..bf27f36a50a2ac53b913d5da6eaff327da47bd35 100644 (file)
@@ -507,13 +507,13 @@ sub provision($$$$$$)
        copy = tmp
        printable = yes
        printing = vlp
-       print command = $bindir_abs/vlp print %p %s
-       lpq command = $bindir_abs/vlp lpq %p
-       lp rm command = $bindir_abs/vlp lprm %p %j
-       lp pause command = $bindir_abs/vlp lppause %p %j
-       lp resume command = $bindir_abs/vlp lpresume %p %j
-       queue pause command = $bindir_abs/vlp queuepause %p
-       queue resume command = $bindir_abs/vlp queueresume %p
+       print command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb print %p %s
+       lpq command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb lpq %p
+       lp rm command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb lprm %p %j
+       lp pause command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb lppause %p %j
+       lp resume command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb lpresume %p %j
+       queue pause command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queuepause %p
+       queue resume command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queueresume %p
 
 [print2]
        copy = print1
index ec610d94e53f3d6130b1acc226acefd44e6c023e..5fc363f2bebb521fdf1c3cb1d4bd21138f03e61a 100644 (file)
@@ -39,7 +39,7 @@ struct vlp_job {
 
 static void usage(void)
 {
-       printf("Usage: print-test lpq|lprm|print|queuepause|queueresume|"
+       printf("Usage: vlp tdbfile=/tmp/vlp.tdb lpq|lprm|print|queuepause|queueresume|"
               "lppause|lpresume [args]\n");
 }
 
@@ -375,23 +375,22 @@ static int lpresume_command(int argc, char **argv)
 int main(int argc, char **argv)
 {
        /* Parameter check */
-       char *printdb_path = NULL;
+       const char *printdb_path = NULL;
 
-       if (argc == 1) {
+       if (argc < 2) {
                usage();
                return 1;
        }
 
-       /* Initialise */
+       if (!strnequal(argv[1], "tdbfile", strlen("tdbfile"))) {
+               usage();
+               return 1;
+       }
 
-#if 0
-       printdb_path = "/tmp/vlp.tdb";
-#else
-       if (asprintf(&printdb_path, "%svlp.tdb",
-                                cache_path("printing/"))) {
+       printdb_path = get_string_param(argv[1]);
+       if (!printdb_path) {
                return 1;
        }
-#endif
 
        if (!(tdb = tdb_open(printdb_path, 0, 0, O_RDWR | O_CREAT,
                             0666))) {
@@ -405,32 +404,32 @@ int main(int argc, char **argv)
 
        /* Do commands */
 
-       if (strcmp(argv[1], "lpq") == 0) {
-               return lpq_command(argc - 1, &argv[1]);
+       if (strcmp(argv[2], "lpq") == 0) {
+               return lpq_command(argc - 2, &argv[2]);
        }
 
-       if (strcmp(argv[1], "lprm") == 0) {
-               return lprm_command(argc - 1, &argv[1]);
+       if (strcmp(argv[2], "lprm") == 0) {
+               return lprm_command(argc - 2, &argv[2]);
        }
 
-       if (strcmp(argv[1], "print") == 0) {
-               return print_command(argc - 1, &argv[1]);
+       if (strcmp(argv[2], "print") == 0) {
+               return print_command(argc - 2, &argv[2]);
        }
 
-       if (strcmp(argv[1], "queuepause") == 0) {
-               return queuepause_command(argc - 1, &argv[1]);
+       if (strcmp(argv[2], "queuepause") == 0) {
+               return queuepause_command(argc - 2, &argv[2]);
        }
 
-       if (strcmp(argv[1], "queueresume") == 0) {
-               return queueresume_command(argc - 1, &argv[1]);
+       if (strcmp(argv[2], "queueresume") == 0) {
+               return queueresume_command(argc - 2, &argv[2]);
        }
 
-       if (strcmp(argv[1], "lppause") == 0) {
-               return lppause_command(argc - 1, &argv[1]);
+       if (strcmp(argv[2], "lppause") == 0) {
+               return lppause_command(argc - 2, &argv[2]);
        }
 
-       if (strcmp(argv[1], "lpresume") == 0) {
-               return lpresume_command(argc - 1, &argv[1]);
+       if (strcmp(argv[2], "lpresume") == 0) {
+               return lpresume_command(argc - 2, &argv[2]);
        }
 
        /* Unknown command */
index d0695682579b3130f2bf1eb2d39fc76075330f4c..8f078d238310de064807f938de284df0371d329b 100755 (executable)
@@ -256,13 +256,13 @@ cat >$SERVERCONFFILE<<EOF
        copy = tmp
        printable = yes
        printing = vlp
-       print command = $BINDIR/vlp print %p %s
-       lpq command = $BINDIR/vlp lpq %p
-       lp rm command = $BINDIR/vlp lprm %p %j
-       lp pause command = $BINDIR/vlp lppause %p %j
-       lp resume command = $BINDIR/vlp lpresume %p %j
-       queue pause command = $BINDIR/vlp queuepause %p
-       queue resume command = $BINDIR/vlp queueresume %p
+       print command = $BINDIR/vlp tdbfile=$LOCKDIR/vlp.tdb print %p %s
+       lpq command = $BINDIR/vlp tdbfile=$LOCKDIR/vlp.tdb lpq %p
+       lp rm command = $BINDIR/vlp tdbfile=$LOCKDIR/vlp.tdb lprm %p %j
+       lp pause command = $BINDIR/vlp tdbfile=$LOCKDIR/vlp.tdb lppause %p %j
+       lp resume command = $BINDIR/vlp tdbfile=$LOCKDIR/vlp.tdb lpresume %p %j
+       queue pause command = $BINDIR/vlp tdbfile=$LOCKDIR/vlp.tdb queuepause %p
+       queue resume command = $BINDIR/vlp tdbfile=$LOCKDIR/vlp.tdb queueresume %p
 
 [print2]
        copy = print1