#include <afs/afsutil.h>
#include <rx/rxkad.h>
-#include <tap/basic.h>
+#include <tests/tap/basic.h>
#include "test.h"
#include "common.h"
struct afsconf_typedKeyList *typedKeyList;
char *dirname;
char *keyfile;
+ char *keyfilesrc;
afs_int32 kvno;
int code;
int i;
- plan(127);
+ plan(134);
/* Create a temporary afs configuration directory */
- dirname = buildTestConfig();
+ dirname = afstest_BuildTestConfig();
if (asprintf(&keyfile, "%s/KeyFile", dirname) == -1)
goto out;
+ /* Work out the path to our KeyFile. If the test harness hasn't set
+ * the SOURCE environment variable, then assume it is in our CWD */
+ if (getenv("SOURCE") == NULL) {
+ keyfilesrc = strdup("KeyFile");
+ } else {
+ if (asprintf(&keyfilesrc, "%s/auth/KeyFile", getenv("SOURCE")) == -1)
+ goto out;
+ }
+
/* First, copy in a known keyfile */
- code = copy("KeyFile", keyfile);
+ code = copy(keyfilesrc, keyfile);
+ free(keyfilesrc);
if (code)
goto out;
" ... with the right key in slot 1");
afsconf_PutTypedKeyList(&typedKeyList);
+ /* Check that GetAllKeys works as expected */
+ code = afsconf_GetAllKeys(dir, &typedKeyList);
+ is_int(0, code, "afsconf_GetAllKeys returns success");
+ is_int(5, typedKeyList->nkeys, " ... with the correct number of keys");
+ ok(keyMatches(typedKeyList->keys[0], afsconf_rxkad, 1, 0,
+ "\x10\x10\x10\x10\x10\x10\x10\x10", 8),
+ " ... with right key in slot 0");
+ ok(keyMatches(typedKeyList->keys[1], afsconf_rxkad, 2, 0,
+ "\x30\x30\x30\x30\x30\x30\x30\x30", 8),
+ " ... with right key in slot 1");
+ ok(keyMatches(typedKeyList->keys[2], 1, 1, 0, "\x03", 1),
+ " ... with right key in slot 2");
+ ok(keyMatches(typedKeyList->keys[3], 1, 2, 0, "\x01", 1),
+ " ... with right key in slot 3");
+ ok(keyMatches(typedKeyList->keys[4], 1, 2, 1, "\x02\03", 2),
+ " ... with right key in slot 4");
+
afsconf_Close(dir);
- unlinkTestConfig(dirname);
+ afstest_UnlinkTestConfig(dirname);
free(dirname);
free(keyfile);
/* Start a new test configuration */
- dirname = buildTestConfig();
+ dirname = afstest_BuildTestConfig();
dir = afsconf_Open(dirname);
ok(dir != NULL, "Sucessfully opened brand new config directory");
if (dir == NULL)
" ... with the right key");
out:
- unlinkTestConfig(dirname);
+ afstest_UnlinkTestConfig(dirname);
return 0;
}