From 884f44b1c22312e4efca44d757494e882e3dc328 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Wed, 17 May 2023 08:52:11 +0200 Subject: [PATCH] Copy the "tests" directory from CS9 The directory was not imported when creating the C8S branch. Related: rhbz#2142550 --- tests/.fmf/version | 1 + tests/lvm_factory.py | 42 ++++++++++++++++++++++++++++++++++++++++++ tests/provision.fmf | 8 ++++++++ tests/tests.yml | 23 +++++++++++++++++++++++ tests/unit_testing.sh | 11 +++++++++++ 5 files changed, 85 insertions(+) create mode 100644 tests/.fmf/version create mode 100644 tests/lvm_factory.py create mode 100644 tests/provision.fmf create mode 100644 tests/tests.yml create mode 100644 tests/unit_testing.sh diff --git a/tests/.fmf/version b/tests/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/tests/lvm_factory.py b/tests/lvm_factory.py new file mode 100644 index 0000000..6603af2 --- /dev/null +++ b/tests/lvm_factory.py @@ -0,0 +1,42 @@ +#!/usr/bin/python3 + +import argparse +import sys + +import blivet + + +POOL_NAME = "blivet_test" + +parser = argparse.ArgumentParser() +parser.add_argument('-d', '--disks', default='') +args = parser.parse_args() + +b = blivet.Blivet() +b.reset() + +disks = list() +for disk_id in args.disks.split(','): + disk = b.devicetree.resolve_device(disk_id) + if not disk.is_disk: + sys.stderr.write("specified disk '%s' is not a disk\n" % disk_id) + sys.exit(1) + + disks.append(disk) + b.initialize_disk(disk) + +if len(disks) > 1: + container_raid_level = "raid1" + total_size = min(d.size for d in disks) +else: + container_raid_level = None + total_size = sum(d.size for d in disks) + +lv1 = b.factory_device(size=total_size*0.8, disks=disks, + name="lv1", container_name=POOL_NAME, + fstype='xfs', device_type=blivet.devicefactory.DEVICE_TYPE_LVM) +lv2 = b.factory_device(disks=disks, name="lv2", + container_name=POOL_NAME, container_raid_level='raid1', + fstype='ext4', device_type=blivet.devicefactory.DEVICE_TYPE_LVM) + +b.do_it() diff --git a/tests/provision.fmf b/tests/provision.fmf new file mode 100644 index 0000000..be22d73 --- /dev/null +++ b/tests/provision.fmf @@ -0,0 +1,8 @@ +--- + +standard-inventory-qcow2: + qemu: + m: 1G + drive: + - size: 10737418240 + - size: 10737418240 diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..b729248 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,23 @@ +--- +# - hosts: localhost +- hosts: all + roles: + - role: standard-test-source + tags: + - always + + - role: standard-test-basic + tags: + - atomic + - classic + required_packages: + - python3 + - python3-dbus + - libblockdev-plugins-all + - python3-yaml + - targetcli + tests: + - unit-tests: + dir: . + run: ./unit_testing.sh + diff --git a/tests/unit_testing.sh b/tests/unit_testing.sh new file mode 100644 index 0000000..e028333 --- /dev/null +++ b/tests/unit_testing.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Bail out if anything goes wrong +set -e + +# Get path to blivet +blivet_path=$(find /usr/ -path */site-packages | tr '\n' ':') + +# Run upstream unit tests +cd ./source/ +PYTHONPATH=$blivet_path python3 tests/run_tests.py