Skip to main content

Varianter with combinatorial capabilities by PICT

Project description

avocado_varianter_pict

This plugin uses a third-party tool to provide variants created by “Pair-Wise” algorithms, also known as Combinatorial Independent Testing.

Installing PICT

PICT is a free software (MIT licensed) tool that implements combinatorial testing. More information about it can be found at https://github.com/Microsoft/pict/ .

If you’re building from sources, make sure you have a C++ compiler such as GCC or clang, and make. The included Makefile should work out of the box and give you a pict binary.

Then copy the pict binary to a location in your $PATH. Alternatively, you may use the plugin --pict-binary command line option to provide a specific location of the pict binary, but that is not as convenient as having it on your $PATH.

Using the PICT Varianter Plugin

To install the Avocado PICT plugin from pip, use:

$ sudo pip install avocado-framework-plugin-varianter-pict

To run the example below, use the test included in the avocado code

$ git clone https://github.com/avocado-framework/avocado.git

The following listing is a sample (simple) PICT file included at avocado/examples/varianter_pict/params.pict

arch: intel, amd
block_driver: scsi, ide, virtio
net_driver: rtl8139, e1000, virtio
guest: windows, linux
host: rhel6, rhel7, rhel8

To list the variants generated with the default combination order (2, that is, do a pairwise idenpendent combinatorial testing):

$ avocado variants --pict-parameter-file=avocado/examples/varianter_pict/params.pict
Pict Variants (11):
Variant amd-scsi-rtl8139-windows-rhel6-acff:    /run
Variant intel-scsi-virtio-linux-rhel8-26df:    /run
Variant amd-ide-virtio-windows-rhel7-3fe7:    /run
Variant amd-virtio-e1000-linux-rhel7-bf2d:    /run
Variant intel-scsi-e1000-windows-rhel8-4808:    /run
Variant intel-scsi-rtl8139-linux-rhel7-2975:    /run
Variant intel-virtio-rtl8139-windows-rhel8-6632:    /run
Variant intel-ide-rtl8139-linux-rhel6-edd2:    /run
Variant intel-virtio-virtio-windows-rhel6-e95a:    /run
Variant amd-ide-e1000-linux-rhel8-5fcc:    /run
Variant amd-ide-e1000-linux-rhel6-eb43:    /run

To list the variants generated with a 3-way combination:

$ avocado variants --pict-parameter-file=avocado/examples/varianter_pict/params.pict \
  --pict-order-of-combinations=3

Pict Variants (28):
Variant intel-ide-virtio-windows-rhel7-aea5:    /run
...skip...
Variant intel-scsi-e1000-linux-rhel7-9f61:    /run

To run tests, just replace the variants avocado command for run:

$ avocado run --pict-parameter-file=avocado/examples/varianter_pict/params.pict /bin/true

The tests given in the command line should then be executed with all variants produced by the combinatorial algorithm implemented by PICT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file avocado_framework_plugin_varianter_pict-108.0.tar.gz.

File metadata

File hashes

Hashes for avocado_framework_plugin_varianter_pict-108.0.tar.gz
Algorithm Hash digest
SHA256 d47e9ff8f886012b37672d0db1b5a824688897aeb96111f45eebfda788b38378
MD5 c94b644d963c21ec2f3c3270268e5716
BLAKE2b-256 93061d1b912dccd1908073abd14bd81e5f66fe05249ca4aef53fda2f9afd00f4

See more details on using hashes here.

File details

Details for the file avocado_framework_plugin_varianter_pict-108.0-py3-none-any.whl.

File metadata

File hashes

Hashes for avocado_framework_plugin_varianter_pict-108.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2be62d750252e4c8f8c793647a4aafc3127599c221d6297a21bbc4294f74ff3
MD5 f918130d8fb7e987fdae39a0aa2202f8
BLAKE2b-256 212b385408b466dad06eb1901d6925341aab09e506857feaa5afd998f77879c2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page