add gating test that uses acd-client.c from 'examples'
Resolves: #1973511 Signed-off-by: Davide Caratti <dcaratti@redhat.com>
This commit is contained in:
parent
056af2ae65
commit
e6546d94e8
12
acd-client-nodebug.patch
Normal file
12
acd-client-nodebug.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/examples/acd-client.c b/examples/acd-client.c
|
||||
index e737288..71e14ef 100644
|
||||
--- a/examples/acd-client.c
|
||||
+++ b/examples/acd-client.c
|
||||
@@ -107,7 +107,6 @@ int main(int argc, char *argv[])
|
||||
bool no_probe = false;
|
||||
|
||||
l_log_set_stderr();
|
||||
- l_debug_enable("*");
|
||||
|
||||
if (argc < 3) {
|
||||
usage();
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
@ -1,11 +1,12 @@
|
||||
Name: libell
|
||||
Version: 0.41
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: Embedded Linux library
|
||||
License: LGPLv2+
|
||||
URL: https://01.org/ell
|
||||
Source0: https://www.kernel.org/pub/linux/libs/ell/ell-%{version}.tar.xz
|
||||
|
||||
Patch0: acd-client-nodebug.patch
|
||||
Patch1: 0001-examples-avoid-using-inet_ntoa.patch
|
||||
Patch2: 0002-ell-avoid-using-inet_ntoa.patch
|
||||
|
||||
@ -59,6 +60,9 @@ find %{buildroot} -type f -name "*.la" -delete
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jun 24 2021 Davide Caratti <dcaratti@redhat.com> - 0.41-2
|
||||
- add gating test that uses acd-client.c. Related: rhbz#1973511
|
||||
|
||||
* Mon Jun 21 2021 Davide Caratti <dcaratti@redhat.com> - 0.41-1
|
||||
- Avoid use of inet_ntoa(). Related: rhbz#1967524
|
||||
- Update to 0.41. Related: rhbz#1967524
|
||||
|
64
tests/sanity/acd-test.sh
Executable file
64
tests/sanity/acd-test.sh
Executable file
@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
|
||||
|
||||
# ┌─────────────────────┐ ┌─────────────────────┐
|
||||
# │ $netns0 │ │ $netns1 │
|
||||
# │ │ │ │
|
||||
# │┌────────┐ │ │ ┌────────┐│
|
||||
# ││ eth0 │───────────┼────┼───────────│ eth0 ││
|
||||
# │├────────┴──────────┐│ │┌──────────┴────────┤│
|
||||
# ││192.0.2.1/24 ││ ││192.0.2.1/24 ││
|
||||
# ││ping ││ ││ACD daemon ││
|
||||
# │└───────────────────┘│ │└───────────────────┘│
|
||||
# └─────────────────────┘ └─────────────────────┘
|
||||
|
||||
|
||||
set -e
|
||||
|
||||
exec 3>&1
|
||||
export LANG=C
|
||||
netns0="ell-test-$$-0"
|
||||
netns1="ell-test-$$-1"
|
||||
pretty() { echo -e "\x1b[32m\x1b[1m[+] ${1:+NS$1: }${2}\x1b[0m" >&3; }
|
||||
pp() { pretty "" "$*"; "$@"; }
|
||||
maybe_exec() { if [[ $BASHPID -eq $$ ]]; then "$@"; else exec "$@"; fi; }
|
||||
n0() { pretty 0 "$*"; maybe_exec ip netns exec $netns0 "$@"; }
|
||||
n1() { pretty 1 "$*"; maybe_exec ip netns exec $netns1 "$@"; }
|
||||
ip0() { pretty 0 "ip $*"; ip -n $netns0 "$@"; }
|
||||
ip1() { pretty 1 "ip $*"; ip -n $netns1 "$@"; }
|
||||
slp() { read -t "$1" -N 1 || true; }
|
||||
|
||||
do_cleanup() {
|
||||
set +e
|
||||
exec 2>/dev/null
|
||||
pp pkill ell-acd-client
|
||||
pp ip netns del $netns1
|
||||
pp ip netns del $netns0
|
||||
pp rm /tmp/tmp/acd-$$.log
|
||||
}
|
||||
|
||||
trap do_cleanup EXIT
|
||||
|
||||
pkill ell-acd-client || true
|
||||
ip netns del $netns0 2>/dev/null || true
|
||||
ip netns del $netns1 2>/dev/null || true
|
||||
|
||||
pp ip netns add $netns0
|
||||
pp ip netns add $netns1
|
||||
|
||||
ip0 link set dev lo up
|
||||
ip0 link add name eth0 type veth peer name eth0 netns $netns1
|
||||
ip0 link set dev eth0 up
|
||||
ip1 link set dev lo up
|
||||
ip1 link set dev eth0 up
|
||||
idx="$(ip1 -j link show dev eth0 | jq '.[0].ifindex')"
|
||||
n1 ./ell-acd-client $idx 192.0.2.1 -d -D defend -n 1>/tmp/acd-$$.log 2>&1 &
|
||||
slp 5
|
||||
ip0 address add dev eth0 192.0.2.1/24
|
||||
n0 ping 192.0.2.2 -I eth0 -c5 -w5 -q || true
|
||||
slp 5
|
||||
pp cat /tmp/acd-$$.log
|
||||
pp grep 'IP 192.0.2.1 has been lost' /tmp/acd-$$.log
|
||||
|
17
tests/tests.yaml
Normal file
17
tests/tests.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
- hosts: localhost
|
||||
tags:
|
||||
- classic
|
||||
roles:
|
||||
- role: standard-test-source
|
||||
- role: standard-test-basic
|
||||
required_packages:
|
||||
- gcc
|
||||
- jq
|
||||
- iproute
|
||||
tests:
|
||||
- build-tests:
|
||||
dir: ./source/examples
|
||||
run: gcc acd-client.c -lell -o ell-acd-client && cp ../../sanity/acd-test.sh .
|
||||
- sanity-tests:
|
||||
dir: ./source/examples
|
||||
run: ./acd-test.sh
|
Loading…
Reference in New Issue
Block a user