X-Git-Url: https://arthur.barton.de/gitweb/?p=netatalk.git;a=blobdiff_plain;f=test%2Fafpd%2Ftest.c;h=56a86e81d1037174e49c20d175e13e161179ac5c;hp=c554260cb85bb0c7962a55ffab0b2a2516c9fc5b;hb=980548c882a297d26e67397d0f72e0b991f36bf2;hpb=6f2cdbbc7b3cf66adc0477903caa4951dc812e6f diff --git a/test/afpd/test.c b/test/afpd/test.c index c554260c..56a86e81 100644 --- a/test/afpd/test.c +++ b/test/afpd/test.c @@ -28,13 +28,14 @@ #include #include #include +#include +#include #include "file.h" #include "filedir.h" #include "directory.h" #include "dircache.h" #include "hash.h" -#include "globals.h" #include "afp_config.h" #include "volume.h" @@ -44,15 +45,13 @@ /* Stuff from main.c which of cource can't be added as source to testbin */ unsigned char nologin = 0; -struct afp_options default_options; -static AFPConfig *configs; - +static AFPObj obj; +#define ARGNUM 3 +static char *args[] = {"test", "-F", "test.conf"}; /* Static variables */ int main(int argc, char **argv) { - #define ARGNUM 7 - char *args[ARGNUM] = {"test", "-F", "test.conf", "-f", "test.default", "-s" ,"test.system"}; int reti; uint16_t vid; struct vol *vol; @@ -60,22 +59,24 @@ int main(int argc, char **argv) struct path *path; /* initialize */ - afp_version = 32; printf("Initializing\n============\n"); - TEST(setuplog("default log_note /dev/tty")); - TEST(afp_options_init(&default_options)); - TEST_int(afp_options_parse( ARGNUM, args, &default_options), 1); - TEST_expr(configs = configinit(&default_options), configs != NULL); - TEST(cnid_init()); - TEST(load_volumes(&configs->obj)); - TEST_int(dircache_init(8192), 0); - + TEST(setuplog("default:note","/dev/tty")); + + TEST( afp_options_parse_cmdline(&obj, 3, &args[0]) ); + + TEST_int( afp_config_parse(&obj, NULL), 0); + TEST_int( configinit(&obj), 0); + TEST( cnid_init() ); + TEST( load_volumes(&obj, lv_all) ); + TEST_int( dircache_init(8192), 0); + obj.afp_version = 32; + printf("\n"); /* now run tests */ printf("Running tests\n=============\n"); - TEST_expr(vid = openvol(&configs->obj, "test"), vid != 0); + TEST_expr(vid = openvol(&obj, "test"), vid != 0); TEST_expr(vol = getvolbyvid(vid), vol != NULL); /* test directory.c stuff */ @@ -84,27 +85,32 @@ int main(int argc, char **argv) TEST_expr(path = cname(vol, retdir, cnamewrap("Network Trash Folder")), path != NULL); TEST_expr(retdir = dirlookup(vol, DIRDID_ROOT), retdir != NULL); - TEST_int(getfiledirparms(&configs->obj, vid, DIRDID_ROOT_PARENT, "test"), 0); - TEST_int(getfiledirparms(&configs->obj, vid, DIRDID_ROOT, ""), 0); + TEST_int(getfiledirparms(&obj, vid, DIRDID_ROOT_PARENT, "test"), 0); + TEST_int(getfiledirparms(&obj, vid, DIRDID_ROOT, ""), 0); - TEST_expr(reti = createdir(&configs->obj, vid, DIRDID_ROOT, "dir1"), +#if 0 +// this doesn't work anymore since cnid sheme = last (which we use in the test) +// has been changed to force read-only mode for the volume + TEST_expr(reti = createdir(&obj, vid, DIRDID_ROOT, "dir1"), reti == 0 || reti == AFPERR_EXIST); - TEST_int(getfiledirparms(&configs->obj, vid, DIRDID_ROOT, "dir1"), 0); + TEST_int(getfiledirparms(&obj, vid, DIRDID_ROOT, "dir1"), 0); +#endif /* FIXME: this doesn't work although it should. "//" get translated to \000 \000 at means ".." ie this should getfiledirparms for DIRDID_ROOT_PARENT -- at least afair! TEST_int(getfiledirparms(&configs->obj, vid, DIRDID_ROOT, "//"), 0); */ - TEST_int(createfile(&configs->obj, vid, DIRDID_ROOT, "dir1/file1"), 0); - TEST_int(delete(&configs->obj, vid, DIRDID_ROOT, "dir1/file1"), 0); - TEST_int(delete(&configs->obj, vid, DIRDID_ROOT, "dir1"), 0); - - TEST_int(createfile(&configs->obj, vid, DIRDID_ROOT, "file1"), 0); - TEST_int(getfiledirparms(&configs->obj, vid, DIRDID_ROOT, "file1"), 0); - TEST_int(delete(&configs->obj, vid, DIRDID_ROOT, "file1"), 0); +#if 0 + TEST_int(createfile(&obj, vid, DIRDID_ROOT, "dir1/file1"), 0); + TEST_int(delete(&obj, vid, DIRDID_ROOT, "dir1/file1"), 0); + TEST_int(delete(&obj, vid, DIRDID_ROOT, "dir1"), 0); + TEST_int(createfile(&obj, vid, DIRDID_ROOT, "file1"), 0); + TEST_int(getfiledirparms(&obj, vid, DIRDID_ROOT, "file1"), 0); + TEST_int(delete(&obj, vid, DIRDID_ROOT, "file1"), 0); +#endif /* test enumerate.c stuff */ - TEST_int(enumerate(&configs->obj, vid, DIRDID_ROOT), 0); + TEST_int(enumerate(&obj, vid, DIRDID_ROOT), 0); }