root / test / check-cert-expired_unittest.bash @ 26d3fd2f
History | View | Annotate | Download (1.9 kB)
1 | c6ccba7e | Michael Hanselmann | #!/bin/bash |
---|---|---|---|
2 | c6ccba7e | Michael Hanselmann | # |
3 | c6ccba7e | Michael Hanselmann | |
4 | c6ccba7e | Michael Hanselmann | # Copyright (C) 2010 Google Inc. |
5 | c6ccba7e | Michael Hanselmann | # |
6 | c6ccba7e | Michael Hanselmann | # This program is free software; you can redistribute it and/or modify |
7 | c6ccba7e | Michael Hanselmann | # it under the terms of the GNU General Public License as published by |
8 | c6ccba7e | Michael Hanselmann | # the Free Software Foundation; either version 2 of the License, or |
9 | c6ccba7e | Michael Hanselmann | # (at your option) any later version. |
10 | c6ccba7e | Michael Hanselmann | # |
11 | c6ccba7e | Michael Hanselmann | # This program is distributed in the hope that it will be useful, but |
12 | c6ccba7e | Michael Hanselmann | # WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | c6ccba7e | Michael Hanselmann | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | c6ccba7e | Michael Hanselmann | # General Public License for more details. |
15 | c6ccba7e | Michael Hanselmann | # |
16 | c6ccba7e | Michael Hanselmann | # You should have received a copy of the GNU General Public License |
17 | c6ccba7e | Michael Hanselmann | # along with this program; if not, write to the Free Software |
18 | c6ccba7e | Michael Hanselmann | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
19 | c6ccba7e | Michael Hanselmann | # 02110-1301, USA. |
20 | c6ccba7e | Michael Hanselmann | |
21 | c6ccba7e | Michael Hanselmann | set -e |
22 | c6ccba7e | Michael Hanselmann | set -o pipefail |
23 | c6ccba7e | Michael Hanselmann | |
24 | c6ccba7e | Michael Hanselmann | export PYTHON=${PYTHON:=python} |
25 | c6ccba7e | Michael Hanselmann | |
26 | c6ccba7e | Michael Hanselmann | CCE=tools/check-cert-expired |
27 | c6ccba7e | Michael Hanselmann | |
28 | c6ccba7e | Michael Hanselmann | err() { |
29 | c6ccba7e | Michael Hanselmann | echo "$@" |
30 | c6ccba7e | Michael Hanselmann | echo 'Aborting' |
31 | c6ccba7e | Michael Hanselmann | exit 1 |
32 | c6ccba7e | Michael Hanselmann | } |
33 | c6ccba7e | Michael Hanselmann | |
34 | c6ccba7e | Michael Hanselmann | impexpd_helper() { |
35 | c6ccba7e | Michael Hanselmann | $PYTHON "${TOP_SRCDIR:-.}/test/import-export_unittest-helper" "$@" |
36 | c6ccba7e | Michael Hanselmann | } |
37 | c6ccba7e | Michael Hanselmann | |
38 | c6ccba7e | Michael Hanselmann | $CCE 2>/dev/null && err 'Accepted empty argument list' |
39 | c6ccba7e | Michael Hanselmann | $CCE foo bar 2>/dev/null && err 'Accepted more than one argument' |
40 | c6ccba7e | Michael Hanselmann | $CCE foo bar baz 2>/dev/null && err 'Accepted more than one argument' |
41 | c6ccba7e | Michael Hanselmann | |
42 | c6ccba7e | Michael Hanselmann | tmpdir=$(mktemp -d) |
43 | c6ccba7e | Michael Hanselmann | trap "rm -rf $tmpdir" EXIT |
44 | c6ccba7e | Michael Hanselmann | |
45 | c6ccba7e | Michael Hanselmann | [[ -f "$tmpdir/cert-not" ]] && err 'File existed when it should not' |
46 | c6ccba7e | Michael Hanselmann | $CCE $tmpdir/cert-not 2>/dev/null && err 'Accepted non-existent file' |
47 | c6ccba7e | Michael Hanselmann | |
48 | c6ccba7e | Michael Hanselmann | VALIDITY=1 impexpd_helper $tmpdir/cert-valid gencert |
49 | c6ccba7e | Michael Hanselmann | $CCE $tmpdir/cert-valid 2>/dev/null && \ |
50 | c6ccba7e | Michael Hanselmann | err 'Reported valid certificate as expired' |
51 | c6ccba7e | Michael Hanselmann | |
52 | c6ccba7e | Michael Hanselmann | VALIDITY=-50 impexpd_helper $tmpdir/cert-expired gencert |
53 | c6ccba7e | Michael Hanselmann | $CCE $tmpdir/cert-expired 2>/dev/null || \ |
54 | c6ccba7e | Michael Hanselmann | err 'Reported expired certificate as valid' |
55 | c6ccba7e | Michael Hanselmann | |
56 | c6ccba7e | Michael Hanselmann | echo > $tmpdir/cert-invalid |
57 | c6ccba7e | Michael Hanselmann | $CCE $tmpdir/cert-invalid 2>/dev/null && \ |
58 | c6ccba7e | Michael Hanselmann | err 'Reported invalid certificate as expired' |
59 | c6ccba7e | Michael Hanselmann | |
60 | c6ccba7e | Michael Hanselmann | echo 'Hello World' > $tmpdir/cert-invalid2 |
61 | c6ccba7e | Michael Hanselmann | $CCE $tmpdir/cert-invalid2 2>/dev/null && \ |
62 | c6ccba7e | Michael Hanselmann | err 'Reported invalid certificate as expired' |
63 | c6ccba7e | Michael Hanselmann | |
64 | c6ccba7e | Michael Hanselmann | exit 0 |