diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/Makefile.in | 6 | ||||
-rw-r--r-- | source3/lib/smbconf/testsuite.c | 33 |
2 files changed, 36 insertions, 3 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in index 96131ef61c..0fe0b5db7d 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -208,7 +208,8 @@ TORTURE_PROGS = bin/smbtorture@EXEEXT@ bin/msgtest@EXEEXT@ \ bin/masktest@EXEEXT@ bin/locktest@EXEEXT@ \ bin/locktest2@EXEEXT@ bin/nsstest@EXEEXT@ bin/vfstest@EXEEXT@ \ bin/pdbtest@EXEEXT@ bin/talloctort@EXEEXT@ bin/replacetort@EXEEXT@ \ - bin/tdbtorture@EXEEXT@ + bin/tdbtorture@EXEEXT@ \ + bin/smbconftort@EXEEXT@ BIN_PROGS = @EXTRA_BIN_PROGS@ \ $(BIN_PROGS1) $(BIN_PROGS2) $(BIN_PROGS3) $(BIN_PROGS4) @@ -843,7 +844,8 @@ SMBCONFTORT_OBJ = $(SMBCONFTORT_OBJ0) \ $(RPC_PARSE_OBJ1) \ $(LIBSAMBA_OBJ) \ $(DOSERR_OBJ) \ - $(SECRETS_OBJ) + $(SECRETS_OBJ) \ + $(POPT_LIB_OBJ) LIBNET_OBJ = libnet/libnet_join.o \ librpc/gen_ndr/ndr_libnet_join.o diff --git a/source3/lib/smbconf/testsuite.c b/source3/lib/smbconf/testsuite.c index 16f3532cec..faf4cb9e15 100644 --- a/source3/lib/smbconf/testsuite.c +++ b/source3/lib/smbconf/testsuite.c @@ -89,6 +89,37 @@ static bool torture_smbconf(void) int main(int argc, const char **argv) { - bool ret = torture_smbconf(); + bool ret; + poptContext pc; + + struct poptOption long_options[] = { + POPT_COMMON_CONFIGFILE + {0, 0, 0, 0} + }; + + load_case_tables(); + + /* parse options */ + pc = poptGetContext("smbconftort", argc, (const char **)argv, + long_options, 0); + + while(poptGetNextOpt(pc) != -1) { } + + poptFreeContext(pc); + + ret = lp_load(get_dyn_CONFIGFILE(), + true, /* globals_only */ + false, /* save_defaults */ + false, /* add_ipc */ + true /* initialize globals */); + + if (!ret) { + printf("failure: error loading the configuration\n"); + goto done; + } + + ret = torture_smbconf(); + +done: return ret ? 0 : -1; } |