check test tests: runtests
@for A in $(SUBDIRS); do cd $$A && $(MAKE) $@ && cd .. || exit 1; done
./libwrap @TOP_OBJDIR@/lib \
- ./runtests $(abs_top_srcdir)/tests/TESTS
+ MAKECHECK=1 ./runtests $(abs_top_srcdir)/tests/TESTS
install:
int secIndex;
int numClasses;
struct afsconf_typedKey *key;
+ int code = 0;
plan(9);
dirname = afstest_BuildTestConfig();
dir = afsconf_Open(dirname);
if (dir == NULL) {
fprintf(stderr, "Unable to configure directory.\n");
- exit(1);
+ code = 1;
+ goto out;
}
rx_Init(0);
afsconf_GetLatestKeyByTypes(dir, afsconf_rxkad, 0, &key);
ok(afsconf_UpToDate(dir), "afsconf_GetLatestKeyByTypes resest UpToDate");
- return 0;
+out:
+ afstest_UnlinkTestConfig(dirname);
+ return code;
}
char *dirname;
int serverPid, clientPid, waited, stat;
int code;
+ int ret = 0;
/* Start the client and the server if requested */
dir = afsconf_Open(dirname);
if (dir == NULL) {
fprintf(stderr, "Unable to configure directory.\n");
- exit(1);
+ ret = 1;
+ goto out;
}
code = afstest_AddDESKeyFile(dir);
if (code) {
afs_com_err("superuser-t", code, "while adding new key\n");
- exit(1);
+ ret = 1;
+ goto out;
}
printf("Config directory is %s\n", dirname);
/* Bang */
} else if (serverPid == 0) {
execl(argv[0], argv[0], "-server", dirname, NULL);
- exit(1);
+ ret = 1;
+ goto out;
}
clientPid = fork();
if (clientPid == -1) {
kill(serverPid, SIGTERM);
waitpid(serverPid, &stat, 0);
- exit(1);
+ ret = 1;
+ goto out;
} else if (clientPid == 0) {
execl(argv[0], argv[0], "-client", dirname, NULL);
}
}
waitpid(0, &stat, 0);
+out:
/* Client and server are both done, so cleanup after everything */
+ afstest_UnlinkTestConfig(dirname);
- /* unlinkTestConfig(dirname); */
-
- return 0;
+ return ret;
}
void
afstest_UnlinkTestConfig(char *dir)
{
- unlinkConfigFile(dir, "KeyFile");
- unlinkConfigFile(dir, "CellServDB");
- unlinkConfigFile(dir, "ThisCell");
- unlinkConfigFile(dir, "UserList");
- unlinkConfigFile(dir, "krb.conf");
- unlinkConfigFile(dir, "krb.excl");
- rmdir(dir);
+ if (getenv("MAKECHECK") != NULL) {
+ unlinkConfigFile(dir, "KeyFile");
+ unlinkConfigFile(dir, "KeyFileExt");
+ unlinkConfigFile(dir, "CellServDB");
+ unlinkConfigFile(dir, "ThisCell");
+ unlinkConfigFile(dir, "UserList");
+ unlinkConfigFile(dir, "krb.conf");
+ unlinkConfigFile(dir, "krb.excl");
+ rmdir(dir);
+ }
}
int
pid_t serverPid;
struct rx_securityClass *secClass;
struct ubik_client *ubikClient = NULL;
+ int ret = 0;
plan(6);
code = afstest_AddDESKeyFile(dir);
if (code) {
afs_com_err("vos-t", code, "while adding test DES keyfile");
- exit(1);
+ ret = 1;
+ goto out;
}
code = afstest_StartVLServer(dirname, &serverPid);
if (code) {
afs_com_err("vos-t", code, "while starting the vlserver");
- exit(1);
+ ret = 1;
+ goto out;
}
/* Let it figure itself out ... */
is_int(code, 0, "Successfully got security class");
if (code) {
afs_com_err("authname-t", code, "while getting anonymous secClass");
- exit(1);
+ ret = 1;
+ goto out;
}
code = afstest_GetUbikClient(dir, AFSCONF_VLDBSERVICE, USER_SERVICE_ID,
is_int(code, 0, "Successfully built ubik client structure");
if (code) {
afs_com_err("vos-t", code, "while building ubik client");
- exit(1);
+ ret = 1;
+ goto out;
}
TestListAddrs(ubikClient, dirname);
code = afstest_StopServer(serverPid);
is_int(0, code, "Server exited cleanly");
- return 0;
+out:
+ afstest_UnlinkTestConfig(dirname);
+ return ret;
}