Skip to main content

Tempest Parser tool used to generate trending reports out of various result formats: pytest's CLI, Rally's XML,JSON, jUnit XML (with v4 schema support), CSV (two types).

Project description

======= Foreword

When you running tempest, you probably want to review result in a human manner. You running it once again… and again… and a couple times more the next day… …you end up with 20+ files in ‘.testrepository’ folder. Start digging how specific tempest test was executed yesterday, how changed result is today. ‘grep’, ‘less’… Brain goes hot.

Honestly, Subunit’s CLI output is good enough for reading the word PASSED at the end… …and the summary.

So, there is a need to: - import tempest tests results - match tests by Class, test_name and options - produce some sort of a report to work with test statuses and track them over time - Have error messages be added to the report

======= Installing

Latest published version can be obtained using pip:

pip install tempestparser

or using setup.py from cloned git repo

python setup.py install

======= Usage

This util is originally intended for ‘import-match-export’ flow to produce CSV with tests matched by Class and name against the list of tests that was originally executed.

tparser -c matched.csv tempest.log

Folder also can be used:

tparser -c matched.csv folder1

HTML report

tparser -f t_xml -r trending.html tempest.xml

or

tparser -f t_xml -r trending.html folder1

also, you can add full traceback messages to report by adding -d switch

tparser -f t_xml -r trending.html -d folder1

In order to eliminate some time wasting scrolling of report back and forth, you can produce unique errors report (see below). Please, note that here you must supply single test run file

tparser -e errors.html single_run.json

This report matches FAILs and SKIPs by main ‘message’ to produce unique errors and skips list. If main message is not there it tries to extract it from trace by matching strings started with ‘Details: ‘ as main message and additional ones with a pair of logical statements: - regular expression of r’s’ (no white spaces at string start) - string not started with ‘Trace’

In order to parse k8s conformance reports use specific xml format

tparser -f r_xml -r conformance.html conformance.xml

It happens that conformance and other k8s tests are spread across multiple files. They can be combined as a single report.

tparser -d -r tests.html -f r_xml –force-single conformance_folder

Also, there is a possibility to omit specific status in the report. Say, there is a 2k+ SKIPs. ‘–omit-status’ option can be uses several times

tparser -d -r tests.html -f r_xml –force-single –omit-status OK conformance_folder

======= Imported Formats —- .log files Bare tempest output captured with either redirection or by copying XX numbered files from .testrepository folder. LOG parser anchors against lines started with specific strings. Make sure to remove leading environment variables and worker report stuff.

—– .xml files Files exported from tempest with subunit’s XML export.

—– .json files [Rally](https://github.com/openstack/rally) tool export:

rally verify results –json –output-file result1.json

======= Credits

Thanks goes to Dmitry Bogun, Alexey Diyan and Dmitriy Zapeka.

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

TempestParser-0.2.81.tar.gz (78.0 kB view details)

Uploaded Source

File details

Details for the file TempestParser-0.2.81.tar.gz.

File metadata

  • Download URL: TempestParser-0.2.81.tar.gz
  • Upload date:
  • Size: 78.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.6

File hashes

Hashes for TempestParser-0.2.81.tar.gz
Algorithm Hash digest
SHA256 d8a5798df89598060b78a459027d6288d782a6f77c92ab9b3545d9922151bf52
MD5 5bee6d04a8f24361c9ab21f2aa344c16
BLAKE2b-256 3d2b83908b239723ce206b5f525cbfd22bfc39e06ead16f90bf88202924f93fd

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