ipset/tests/sanity-tests/runtest.sh
Phil Sutter 2a26f23b53 tests: Convert tests to beakerlib
Drop dependency on pyroute2 module.
2024-09-03 18:40:30 +02:00

141 lines
5.4 KiB
Bash
Executable File

#!/bin/bash
# SPDX-License-Identifier: LGPL-2.1+
# ~~~
# runtest.sh of ipset
# Description: ipset tests.
#
# Author: Susant Sahani <susant@redhat.com>
# Copyright (c) 2018 Red Hat, Inc.
# ~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="ipset"
SERVICE_UNITDIR="/var/run/systemd/system"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlAssertRpm kernel-modules-extra-$(uname -r)
rlRun "systemctl stop firewalld" 0,5
rlRun "[ -e /sys/class/net/veth-test ] && ip link del veth-test" 0,1
rlRun "cp iperf3d.service $SERVICE_UNITDIR"
rlRun "systemctl daemon-reload"
rlRun "ip link add veth-test type veth peer name veth-peer"
rlRun "ip link set veth-test addr 02:01:02:03:04:08"
rlRun "ip link set veth-peer addr 02:01:02:03:04:09"
rlRun "ip addr add 192.168.225.32/24 dev veth-test"
rlRun "ip addr add 192.168.225.33/24 dev veth-peer"
rlRun "ip link set veth-test up"
rlRun "ip link set veth-peer up"
rlPhaseEnd
rlPhaseStartTest "test_ipset_bitmap_ip_netfilter"
rlRun "ipset create testnetiperf hash:ip"
rlRun "ipset add testnetiperf 192.168.225.32"
rlRun "ipset add testnetiperf 192.168.225.33"
rlRun "ipset test testnetiperf 192.168.225.32"
rlRun "ipset test testnetiperf 192.168.225.33"
rlRun "systemctl start iperf3d.service"
sleep 1
rlRun "iperf3 -c 192.168.225.32 -p 55555 --connect-timeout 5"
rlRun "iptables -I INPUT -m set --match-set testnetiperf src -j DROP"
rlRun "iperf3 -c 192.168.225.32 -p 55555 --connect-timeout 5" 1
rlRun "systemctl stop iperf3d.service"
rlRun "iptables --delete INPUT -m set --match-set testnetiperf src -j DROP"
rlRun "ipset destroy testnetiperf"
rlPhaseEnd
rlPhaseStartTest "test_ipset_add_bitmap_ip"
rlRun "ipset create testnet hash:ip"
rlRun "ipset add testnet 192.168.11.12"
rlRun "ipset add testnet 192.168.11.13"
rlRun "ipset add testnet 192.168.11.14"
rlRun "ipset add testnet 192.168.11.15"
rlRun "ipset test testnet 192.168.11.12"
rlRun "ipset test testnet 192.168.11.13"
rlRun "ipset test testnet 192.168.11.14"
rlRun "ipset test testnet 192.168.11.15"
rlRun "ipset destroy testnet"
rlPhaseEnd
rlPhaseStartTest "test_ipset_delete_bitmap_ip"
rlRun "ipset create testnet hash:ip"
rlRun "ipset add testnet 192.168.11.12"
rlRun "ipset add testnet 192.168.11.13"
rlRun "ipset test testnet 192.168.11.12"
rlRun "ipset test testnet 192.168.11.13"
rlRun "ipset del testnet 192.168.11.12"
rlRun "ipset test testnet 192.168.11.12" 1
rlRun "ipset destroy testnet"
rlPhaseEnd
rlPhaseStartTest "test_ipset_hash_bitmap_mac"
rlRun "ipset create testmac hash:mac"
rlRun "ipset add testmac 02:01:02:03:04:09"
rlRun "ipset test testmac 02:01:02:03:04:09"
rlRun "ipset del testmac 02:01:02:03:04:09"
rlRun "ipset test testmac 02:01:02:03:04:09" 1
rlRun "ipset destroy testmac"
rlPhaseEnd
rlPhaseStartTest "test_ipset_hash_bitmap_ipport"
rlRun "ipset create testipport hash:ip,mac"
rlRun "ipset add testipport 1.1.1.1,02:01:02:03:04:09"
rlRun "ipset test testipport 1.1.1.1,02:01:02:03:04:09"
rlRun "ipset del testipport 1.1.1.1,02:01:02:03:04:09"
rlRun "ipset test testipport 1.1.1.1,02:01:02:03:04:09" 1
rlRun "ipset destroy testipport"
rlPhaseEnd
rlPhaseStartTest "test_ipset_hash_bitmap_ipport"
rlRun "ipset create testipport hash:ip,port"
rlRun "ipset add testipport 192.168.1.1,udp:53"
rlRun "ipset add testipport 192.168.1.1,5555"
rlRun "ipset test testipport 192.168.1.1,udp:53"
rlRun "ipset test testipport 192.168.1.1,5555"
rlRun "ipset del testipport 192.168.1.1,5555"
rlRun "ipset test testipport 192.168.1.1,5555" 1
rlRun "ipset destroy testipport"
rlPhaseEnd
rlPhaseStartTest "test_ipset_hash_bitmap_ipportip"
rlRun "ipset create testipportip hash:ip,port,ip"
rlRun "ipset add testipportip 192.168.1.1,80,10.0.0.1"
rlRun "ipset add testipportip 192.168.1.2,80,10.0.0.2"
rlRun "ipset test testipportip 192.168.1.1,80,10.0.0.1"
rlRun "ipset test testipportip 192.168.1.1,80,10.0.0.1"
rlRun "ipset del testipportip 192.168.1.1,80,10.0.0.1"
rlRun "ipset test testipportip 192.168.1.1,80,10.0.0.1" 1
rlRun "ipset destroy testipportip"
rlPhaseEnd
rlPhaseStartTest "test_ipset_hash_bitmap_netiface"
rlRun "ipset create testnetiface hash:net,iface"
rlRun "ipset add testnetiface 192.168.0/24,veth-test"
rlRun "ipset add testnetiface 192.167.0/24,veth-peer"
rlRun "ipset test testnetiface 192.168.0/24,veth-test"
rlRun "ipset test testnetiface 192.167.0/24,veth-peer"
rlRun "ipset del testnetiface 192.168.0/24,veth-test"
rlRun "ipset test testnetiface 192.168.0/24,veth-test" 1
rlRun "ipset destroy testnetiface"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "ip link del veth-test"
rlRun "rm $SERVICE_UNITDIR/iperf3d.service"
rlRun "systemctl daemon-reload"
rlLog "ipset tests done"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd
rlGetTestState