1atf_test_case pwhash_blowfish_r12
2pwhash_blowfish_r12_head() {
3	atf_set "descr" "ATF test for pwhash using blowfish 12 rounds"
4}
5
6pwhash_blowfish_r12_body() {
7	atf_check -s exit:0 -o match:"^\\\$2a\\\$" -x \
8		'echo -n password | pwhash -b 12'
9}
10
11atf_test_case pwhash_md5
12pwhash_md5_head() {
13	atf_set "descr" "ATF test for pwhash using MD5"
14}
15
16pwhash_md5_body() {
17	atf_check -s exit:0 -o match:"^\\\$1\\\$" -x \
18		'echo -n password | pwhash -m'
19}
20
21atf_test_case pwhash_sha1
22pwhash_sha1_head() {
23	atf_set "descr" "ATF test for pwhash using SHA1"
24}
25
26pwhash_sha1_body() {
27	atf_check -s exit:0 -o match:"^\\\$sha1\\\$" -x \
28		'echo -n password | pwhash -S 24680'
29}
30
31atf_test_case pwhash_argon2i
32pwhash_argon2i_head() {
33	atf_set "descr" "ATF test for pwhash using Argon2i"
34}
35
36pwhash_argon2i_body() {
37	atf_check -s exit:0 \
38		-o match:"^\\\$argon2i\\\$v=19\\\$m=1024,t=1,p=1\\\$" -x \
39		'echo -n password | pwhash -A argon2i,m=1024,t=1'
40}
41
42atf_test_case pwhash_argon2id
43pwhash_argon2id_head() {
44	atf_set "descr" "ATF test for pwhash using Argon2id"
45}
46
47pwhash_argon2id_body() {
48	atf_check -s exit:0 \
49		-o match:"^\\\$argon2id\\\$v=19\\\$m=256,t=3,p=1\\\$" -x \
50		'echo -n password | pwhash -A argon2id,m=256,t=3'
51}
52
53atf_test_case pwhash_argon2d
54pwhash_argon2d_head() {
55	atf_set "descr" "ATF test for pwhash using Argon2d"
56}
57
58pwhash_argon2d_body() {
59	atf_check -s exit:0 \
60		-o match:"^\\\$argon2d\\\$v=19\\\$" -x \
61		'echo -n password | pwhash -A argon2d'
62}
63
64atf_test_case pwhash_des
65pwhash_des_head() {
66	atf_set "descr" "ATF test for pwhash using DES"
67}
68
69pwhash_des_body() {
70	atf_check -s exit:0 -o ignore -e ignore -x \
71		'echo -n password | pwhash -s somesalt'
72}
73
74atf_init_test_cases()
75{
76	atf_add_test_case pwhash_blowfish_r12
77	atf_add_test_case pwhash_md5
78	atf_add_test_case pwhash_sha1
79	atf_add_test_case pwhash_argon2i
80	atf_add_test_case pwhash_argon2id
81	atf_add_test_case pwhash_argon2d
82	atf_add_test_case pwhash_des
83}
84