CI: Add ip link kind and set dev tests
justification
Adds tests according to the CI wiki specifically the standard test interface in the spec.
The playbook includes Tier1 level test cases that have been tested in the following contexts and
is passing reliably: Classic. Test logs are stored in the artifacts directory.
The following steps are used to execute the tests using the standard test interface:
Test enveronment
Make sure you have installed packages from the spec
```
ansible-2.4.1.0-2.fc28.noarch
python2-dnf-2.7.5-1.fc28.noarch
libselinux-python-2.7-2.fc28.x86_64
standard-test-roles-2.5-1.fc28.noarch
Run tests for Classic
Snip of the example test run for Classic tests:
```
```
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Setup
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
iproute-4.15.0-1.fc28.x86_64
:: [ 16:56:03 ] :: [ PASS ] :: Checking for the presence of iproute rpm
:: [ 16:56:03 ] :: [ LOG ] :: Package versions:
:: [ 16:56:04 ] :: [ LOG ] :: iproute-4.15.0-1.fc28.x86_64
:: [ 16:56:04 ] :: [ BEGIN ] :: Running 'cp ip-link-tests.py /usr/bin'
:: [ 16:56:04 ] :: [ PASS ] :: Command 'cp ip-link-tests.py /usr/bin' (Expected 0, got 0)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Duration: 1s
:: Assertions: 2 good, 0 bad
:: RESULT: PASS
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Test
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 16:56:04 ] :: [ LOG ] :: ip link tests
:: [ 16:56:04 ] :: [ BEGIN ] :: Running '/usr/bin/python3 /usr/bin/ip-link-tests.py'
test_add_bond (__main__.IPLinkKindTests) ... ok
test_add_bridge (__main__.IPLinkKindTests) ... ok
test_add_dummy (__main__.IPLinkKindTests) ... ok
test_add_erspan_tunnel (__main__.IPLinkKindTests) ... ok
test_add_geneve_tunnel (__main__.IPLinkKindTests) ... ok
test_add_gre_tunnel (__main__.IPLinkKindTests) ... ok
test_add_gretap_tunnel (__main__.IPLinkKindTests) ... ok
test_add_ip6erspan_tunnel (__main__.IPLinkKindTests) ... ok
test_add_ip6gre_tunnel (__main__.IPLinkKindTests) ... ok
test_add_ip6gretap_tunnel (__main__.IPLinkKindTests) ... ok
test_add_ipip_tunnel (__main__.IPLinkKindTests) ... ok
test_add_ipvlan (__main__.IPLinkKindTests) ... ok
test_add_macsec (__main__.IPLinkKindTests) ... ok
test_add_macvlan (__main__.IPLinkKindTests) ... ok
test_add_macvtap (__main__.IPLinkKindTests) ... ok
test_add_sit_tunnel (__main__.IPLinkKindTests) ... ok
test_add_team (__main__.IPLinkKindTests) ... ok
test_add_vcan (__main__.IPLinkKindTests) ... ok
test_add_veth_pair (__main__.IPLinkKindTests) ... ok
test_add_vlan (__main__.IPLinkKindTests) ... ok
test_add_vrf (__main__.IPLinkKindTests) ... ok
test_add_vti_tunnel (__main__.IPLinkKindTests) ... ok
test_add_vxcan (__main__.IPLinkKindTests) ... ok
test_add_vxlan (__main__.IPLinkKindTests) ... ok
test_set_dev_address (__main__.IPLinkSetDevTests) ... ok
test_set_dev_alias (__main__.IPLinkSetDevTests) ... ok
test_set_dev_all_multicast (__main__.IPLinkSetDevTests) ... ok
test_set_dev_mtu (__main__.IPLinkSetDevTests) ... ok
test_set_dev_multicast (__main__.IPLinkSetDevTests) ... ok
test_set_dev_name (__main__.IPLinkSetDevTests) ... ok
test_set_dev_up_down (__main__.IPLinkSetDevTests) ... ok
----------------------------------------------------------------------
Ran 31 tests in 0.966s
OK
:: [ 16:56:05 ] :: [ PASS ] :: Command '/usr/bin/python3 /usr/bin/ip-link-tests.py' (Expected 0, got 0)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Duration: 1s
:: Assertions: 1 good, 0 bad
:: RESULT: PASS
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Cleanup
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 16:56:05 ] :: [ BEGIN ] :: Running 'rm /usr/bin/ip-link-tests.py'
:: [ 16:56:05 ] :: [ PASS ] :: Command 'rm /usr/bin/ip-link-tests.py' (Expected 0, got 0)
:: [ 16:56:05 ] :: [ LOG ] :: ip link tests done
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Duration: 0s
:: Assertions: 1 good, 0 bad
:: RESULT: PASS
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: TEST PROTOCOL
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Package : iproute
Installed : iproute-4.15.0-1.fc28.x86_64
beakerlib RPM : beakerlib-1.17-13.fc28.noarch
Test started : 2018-06-17 16:56:03 IST
Test finished : 2018-06-17 16:56:05 IST (still running)
Test duration : 2 seconds
Test name : unknown
Distro : Fedora release 28 (Twenty Eight)
Hostname : Zeus
Architecture : x86_64
CPUs : 8 x Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
RAM size : 31542 MB
HDD size : 452.94 GB
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Test description
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
PURPOSE of /CoreOS/iproute/Sanity/ip-link-sanity-test
Description: Test basic ip link funcionality
Author: Susant Sahani <susant@redhat.com>
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Setup
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 16:56:03 ] :: [ PASS ] :: Checking for the presence of iproute rpm
:: [ 16:56:03 ] :: [ LOG ] :: Package versions:
:: [ 16:56:04 ] :: [ LOG ] :: iproute-4.15.0-1.fc28.x86_64
:: [ 16:56:04 ] :: [ PASS ] :: Command 'cp ip-link-tests.py /usr/bin' (Expected 0, got 0)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Duration: 1s
:: Assertions: 2 good, 0 bad
:: RESULT: PASS
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Test
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 16:56:04 ] :: [ LOG ] :: ip link tests
:: [ 16:56:05 ] :: [ PASS ] :: Command '/usr/bin/python3 /usr/bin/ip-link-tests.py' (Expected 0, got 0)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Duration: 1s
:: Assertions: 1 good, 0 bad
:: RESULT: PASS
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Cleanup
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 16:56:05 ] :: [ PASS ] :: Command 'rm /usr/bin/ip-link-tests.py' (Expected 0, got 0)
:: [ 16:56:05 ] :: [ LOG ] :: ip link tests done
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Duration: 0s
:: Assertions: 1 good, 0 bad
:: RESULT: PASS
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: unknown
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 16:56:05 ] :: [ LOG ] :: JOURNAL XML: /var/tmp/beakerlib-zsCyOCP/journal.xml
:: [ 16:56:05 ] :: [ LOG ] :: JOURNAL TXT: /var/tmp/beakerlib-zsCyOCP/journal.txt
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Duration: 2s
:: Phases: 3 good, 0 bad
:: OVERALL RESULT: PASS
```
2018-06-17 11:25:26 +00:00
|
|
|
#!/bin/bash
|
|
|
|
# SPDX-License-Identifier: LGPL-2.1+
|
|
|
|
# ~~~
|
|
|
|
# runtest.sh of /CoreOS/iproute/Sanity/ip-link-sanity-test
|
|
|
|
# Description: Test basic ip link funcionality
|
|
|
|
#
|
|
|
|
# Author: Susant Sahani <susant@redhat.com>
|
|
|
|
# Copyright (c) 2018 Red Hat, Inc.
|
|
|
|
#~~~
|
|
|
|
|
|
|
|
export TEST=/CoreOS/iproute/Sanity/ip-link-sanity-test
|
|
|
|
export TESTVERSION=1.0
|
|
|
|
|
|
|
|
BUILT_FILES=
|
|
|
|
|
|
|
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
|
|
|
|
|
|
|
.PHONY: all install download clean
|
|
|
|
|
|
|
|
run: $(FILES) build
|
|
|
|
./runtest.sh
|
|
|
|
|
|
|
|
build: $(BUILT_FILES)
|
|
|
|
test -x runtest.sh || chmod a+x runtest.sh
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -f *~ $(BUILT_FILES)
|
|
|
|
|
|
|
|
|
|
|
|
include /usr/share/rhts/lib/rhts-make.include
|
|
|
|
|
|
|
|
$(METADATA): Makefile
|
|
|
|
@echo "Owner: Susant Sahani <susant@redhat.com>" > $(METADATA)
|
|
|
|
@echo "Name: $(TEST)" >> $(METADATA)
|
|
|
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
|
|
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
|
|
|
@echo "Description: Test basic ip link funcionality" >> $(METADATA)
|
|
|
|
@echo "Type: Sanity" >> $(METADATA)
|
|
|
|
@echo "TestTime: 15m" >> $(METADATA)
|
|
|
|
@echo "RunFor: iproute" >> $(METADATA)
|
|
|
|
@echo "Requires: iproute" >> $(METADATA)
|
|
|
|
@echo "Priority: Normal" >> $(METADATA)
|
|
|
|
@echo "License: GPLv2" >> $(METADATA)
|
|
|
|
@echo "Confidential: no" >> $(METADATA)
|
|
|
|
@echo "Destructive: no" >> $(METADATA)
|
|
|
|
|
|
|
|
rhts-lint $(METADATA)
|