smbtorture:spoolss: Add a 32bit test for copy_from_directory
authorAndreas Schneider <asn@samba.org>
Fri, 5 May 2017 09:12:02 +0000 (11:12 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Fri, 5 May 2017 09:51:10 +0000 (11:51 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12761

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
source4/torture/rpc/spoolss.c

index fce013d5eef62e0b1bc930298dca4c1aacf047da..7ab7c601fa0cdd1b9c54e42043447117a4d6aa36 100644 (file)
@@ -11157,8 +11157,13 @@ static bool test_driver_copy_from_directory(struct torture_context *tctx,
        d->local.environment            = talloc_strdup(d, architecture);
        torture_assert_not_null_goto(tctx, d->local.environment, ok, done, "ENOMEM");
 
-       d->local.driver_directory       =
-               talloc_asprintf(d, "/usr/share/cups/drivers/x64");
+       if (strequal(architecture, SPOOLSS_ARCHITECTURE_x64)) {
+               d->local.driver_directory =
+                       talloc_strdup(d, "/usr/share/cups/drivers/x64");
+       } else {
+               d->local.driver_directory =
+                       talloc_strdup(d, "/usr/share/cups/drivers/i386");
+       }
        torture_assert_not_null_goto(tctx, d->local.driver_directory, ok, done, "ENOMEM");
 
        d->remote.driver_upload_directory = GUID_string2(d, &guid);
@@ -11242,6 +11247,12 @@ static bool test_driver_copy_from_directory_64(struct torture_context *tctx,
        return test_driver_copy_from_directory(tctx, p, SPOOLSS_ARCHITECTURE_x64);
 }
 
+static bool test_driver_copy_from_directory_32(struct torture_context *tctx,
+                                              struct dcerpc_pipe *p)
+{
+       return test_driver_copy_from_directory(tctx, p, SPOOLSS_ARCHITECTURE_NT_X86);
+}
+
 static bool test_del_driver_all_files(struct torture_context *tctx,
                                      struct dcerpc_pipe *p)
 {
@@ -11442,6 +11453,10 @@ struct torture_suite *torture_rpc_spoolss_driver(TALLOC_CTX *mem_ctx)
                                   "test_driver_copy_from_directory_64",
                                   test_driver_copy_from_directory_64);
 
+       torture_rpc_tcase_add_test(tcase,
+                                  "test_driver_copy_from_directory_32",
+                                  test_driver_copy_from_directory_32);
+
        torture_rpc_tcase_add_test(tcase, "del_driver_all_files", test_del_driver_all_files);
 
        torture_rpc_tcase_add_test(tcase, "del_driver_unused_files", test_del_driver_unused_files);