7 const char test_name[] = "dir-rm-tree";
9 static void remove_tree (int at, int bt, int ct, int dt);
14 make_tree (4, 3, 3, 4);
15 remove_tree (4, 3, 3, 4);
18 static void do_remove (const char *format, ...) PRINTF_FORMAT (1, 2);
21 remove_tree (int at, int bt, int ct, int dt)
26 msg ("removing /0/0/0/0 through /%d/%d/%d/%d...",
27 at - 1, bt - 1, ct - 1, dt - 1);
29 for (a = 0; a < at; a++)
31 for (b = 0; b < bt; b++)
33 for (c = 0; c < ct; c++)
35 for (d = 0; d < dt; d++)
36 do_remove ("/%d/%d/%d/%d", a, b, c, d);
37 do_remove ("/%d/%d/%d", a, b, c);
39 do_remove ("/%d/%d", a, b);
45 snprintf (try, sizeof (try), "/%d/%d/%d/%d", at - 1, 0, ct - 1, 0);
46 CHECK (open (try) == -1, "open \"%s\" (must return -1)", try);
50 do_remove (const char *format, ...)
55 va_start (args, format);
56 vsnprintf (name, sizeof name, format, args);
59 CHECK (remove (name), "remove \"%s\"", name);