aboutsummaryrefslogtreecommitdiffstats
path: root/librecrypt_find_first_algorithm_.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--librecrypt_find_first_algorithm_.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/librecrypt_find_first_algorithm_.c b/librecrypt_find_first_algorithm_.c
index 34aa03e..6bbfe70 100644
--- a/librecrypt_find_first_algorithm_.c
+++ b/librecrypt_find_first_algorithm_.c
@@ -40,16 +40,37 @@ librecrypt_find_first_algorithm_(const char *settings, size_t len)
#else
+#define NSA "$~no~such~algorithm~$"
+
+
+#define CHECK(ALGO)\
+ do {\
+ algo = librecrypt_find_first_algorithm_(ALGO, sizeof(ALGO) - 1u);\
+ EXPECT(algo != NULL);\
+ EXPECT((*algo->is_algorithm)(ALGO, sizeof(ALGO) - 1u) > 0u);\
+ EXPECT(librecrypt_find_first_algorithm_(ALGO">"NSA, sizeof(ALGO">"NSA) - 1u) == algo);\
+ } while (0)
+
+
int
main(void)
{
+ const struct algorithm *algo;
+
SET_UP_ALARM();
INIT_RESOURCE_TEST();
+ EXPECT(librecrypt_find_first_algorithm_(NSA, sizeof(NSA) - 1u) == NULL);
+ EXPECT(librecrypt_find_first_algorithm_(NSA">", sizeof(NSA">") - 1u) == NULL);
+
+ IF__argon2i__SUPPORTED(CHECK("$argon2i$"));
+ IF__argon2d__SUPPORTED(CHECK("$argon2d$"));
+ IF__argon2id__SUPPORTED(CHECK("$argon2id$"));
+ IF__argon2ds__SUPPORTED(CHECK("$argon2ds$"));
+
STOP_RESOURCE_TEST();
return 0;
}
#endif
-/* TODO test */