]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
tests: shell: netns/0003many_0: Fix cleanup after error
authorPhil Sutter <phil@nwl.cc>
Wed, 22 Mar 2017 00:26:35 +0000 (01:26 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 22 Mar 2017 11:50:35 +0000 (12:50 +0100)
If rule set applying failed, this would leave a stray netns in place.

Interestingly, this situation led to other, seemingly unrelated
testcases to fail with spurious errors, e.g. sets/0015rulesetflush_0:

| $ ./run-tests.sh testcases/sets/0015rulesetflush_0
| I: using nft binary ../../src/nft
|
| W: [FAILED] testcases/sets/0015rulesetflush_0: expected 0 but got 1
| /tmp/tmp.BY7cuUYL8f:5:1-2: Error: Could not process rule: Operation not supported
| table inet filter {
| ^^
| /tmp/tmp.BY7cuUYL8f:9:1-2: Error: Could not process rule: No such file or directory
| add element inet filter blacklist_v4 {
| ^^
| /tmp/tmp.BY7cuUYL8f:5:1-2: Error: Could not process rule: Operation not supported
| table inet filter {
| ^^
| /tmp/tmp.BY7cuUYL8f:9:1-2: Error: Could not process rule: No such file or directory
| add element inet filter blacklist_v4 {
| ^^
|
| I: results: [OK] 0 [FAILED] 1 [TOTAL] 1
|
| $ ip netns list
| 1_0003many_0
| $ ip netns del 1_0003many_0
|
| $ ./run-tests.sh testcases/sets/0015rulesetflush_0
| I: using nft binary ../../src/nft
|
| I: [OK] testcases/sets/0015rulesetflush_0
|
| I: results: [OK] 1 [FAILED] 0 [TOTAL] 1

Signed-off-by: Phil Sutter <phil@nwl.cc>
Acked-by: Arturo Borrero Gonzalez <arturo@debian.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
tests/shell/testcases/netns/0003many_0

index f8853ee5a98c2cde2ea499390889e624946b965d..17d7b93588f34804e2406d1499d8abac4115a9a2 100755 (executable)
@@ -109,6 +109,7 @@ function test_netns()
                echo "E: ruleset in netns $NETNS_NAME differs from the loaded" >&2
                DIFF="$(which diff)"
                [ -x $DIFF ] && $DIFF -u <(echo "$RULESET") <(echo "$KERNEL_RULESET")
+               $IP netns del $NETNS_NAME
                exit 1
        fi