1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-26 21:57:41 +03:00

testprogs: add "samba3" and "architecture=" options to spoolss tester.

Guenther
This commit is contained in:
Günther Deschner 2010-02-15 23:03:48 +01:00
parent 23d1dd5189
commit 351f694d61
2 changed files with 39 additions and 4 deletions

View File

@ -228,7 +228,7 @@ static BOOL test_EnumForms(struct torture_context *tctx,
HANDLE handle)
{
DWORD levels[] = { 1, 2 };
DWORD success[] = { 1, 0 };
DWORD success[] = { 1, 1 };
DWORD i;
LPBYTE buffer = NULL;
@ -241,6 +241,11 @@ static BOOL test_EnumForms(struct torture_context *tctx,
torture_comment(tctx, "Testing EnumForms level %d", levels[i]);
if (tctx->samba3 && levels[i] == 2) {
torture_comment(tctx, "skipping level %d enum against samba\n", levels[i]);
continue;
}
EnumForms(handle, levels[i], NULL, 0, &needed, &returned);
err = GetLastError();
if (err == ERROR_INSUFFICIENT_BUFFER) {
@ -638,6 +643,11 @@ static BOOL test_EnumJobs(struct torture_context *tctx,
torture_comment(tctx, "Testing EnumJobs level %d", levels[i]);
if (tctx->samba3 && levels[i] == 4) {
torture_comment(tctx, "skipping level %d enum against samba\n", levels[i]);
continue;
}
EnumJobs(handle, 0, 100, levels[i], NULL, 0, &needed, &returned);
err = GetLastError();
if (err == ERROR_INSUFFICIENT_BUFFER) {
@ -1028,6 +1038,21 @@ static BOOL test_PrinterData(struct torture_context *tctx,
/****************************************************************************
****************************************************************************/
const char *get_string_param(const char *str)
{
const char *p;
p = strchr(str, '=');
if (!p) {
return NULL;
}
return (p+1);
}
/****************************************************************************
****************************************************************************/
int main(int argc, char *argv[])
{
BOOL ret = FALSE;
@ -1036,9 +1061,10 @@ int main(int argc, char *argv[])
HANDLE server_handle;
PRINTER_DEFAULTS defaults_admin, defaults_use;
struct torture_context *tctx;
int i;
if (argc < 2) {
fprintf(stderr, "usage: %s <servername> [print]\n", argv[0]);
fprintf(stderr, "usage: %s <servername> [print] [samba3] [architecture=ARCHITECTURE]\n", argv[0]);
exit(-1);
}
@ -1051,12 +1077,20 @@ int main(int argc, char *argv[])
servername = argv[1];
if (argc >= 3) {
if (strcmp(argv[2], "print") == 0) {
for (i=1; i < argc; i++) {
if (strcmp(argv[i], "print") == 0) {
tctx->print = TRUE;
}
if (strcmp(argv[i], "samba3") == 0) {
tctx->samba3 = TRUE;
}
if (strncmp(argv[i], "architecture", strlen("architecture")) == 0) {
architecture = get_string_param(argv[i]);
}
}
printf("Running testsuite with architecture: %s\n", architecture);
defaults_admin.pDatatype = NULL;
defaults_admin.pDevMode = NULL;
defaults_admin.DesiredAccess = PRINTER_ACCESS_ADMINISTER;

View File

@ -35,6 +35,7 @@ struct torture_context {
enum torture_result last_result;
char *last_reason;
BOOL print;
BOOL samba3;
};
/****************************************************************************