blob: e31ae4de80a73adb76897ec1a5d05dea2c36322d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/bin/sh
set -eu
. tests/lib.sh
test_needs_minimum_salt_length() {
testing 'needs minimum salt length'
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
./scrypt.bin password salt 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 2
assert_empty_stdout
assert_fgrep_stderr 'salt is too small'
rm -f "$OUT" "$ERR"
test_ok
}
test_same_input_same_output() {
testing 'same input, same output'
N="$LINENO"
OUT="$(mkstemp)"
ERR="$(mkstemp)"
trap 'rm -f "$OUT" "$ERR"' EXIT
STATUS=0
# 8 16 24 32
# v v v v
SALT='saltsaltsaltsaltsaltsaltsaltsalti'
HASH='969a539633fd531309197c26a671d593da0eadbd31c1194c23bd1b143a0ecb5e'
./scrypt.bin password "$SALT" 1>"$OUT" 2>"$ERR" || STATUS=$?
assert_status 0
assert_stdout "$HASH"
assert_empty_stderr
rm -f "$OUT" "$ERR"
test_ok
}
test_needs_minimum_salt_length
test_same_input_same_output
|