aboutsummaryrefslogtreecommitdiffstats
path: root/test.sh
blob: ad3b4182a15c3d35d0de4c4babd57eb5576e9b8b (plain)
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
#!/bin/sh -e

# Alpine Wall test script
# Copyright (C) 2012-2017 Kaarle Ritvanen
# See LICENSE file for license details


cd "$(dirname "$0")"

export LUA_PATH="./?.lua;;"
LUA=lua${LUA_VERSION}
AWALL="$LUA ./awall-cli"

for cls in mandatory optional private; do
    eval "export AWALL_PATH_$(echo $cls | tr a-z A-Z)=test/$cls"
    mkdir -p test/$cls
    for script in test/$cls/*.lua; do
        [ -f $script ] && $LUA $script > ${script%.lua}.json
    done
done

POLICIES=$(ls test/optional/*.json | sed -E 's:^.*/([^/]+).json$:\1:')

for pol in $POLICIES; do
    $AWALL disable $pol 2>/dev/null
done

RC=0
for pol in $POLICIES; do
    dir=test/output/$pol
    mkdir -p $dir

    $AWALL enable $pol
    $AWALL ${1:-diff} -o $dir || RC=1
    $AWALL disable $pol
done
exit $RC