18 Commits

Author SHA1 Message Date
Lukas Zachar a37f7774eb Release tmt-1.8.0 2021-09-30 14:22:41 +02:00
Petr Šplíchal e2d36dbb87 Release tmt-1.7.0 2021-08-31 10:26:52 +02:00
Fedora Release Engineering 82eb7c5a49 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 19:23:58 +00:00
Python Maint c0a2673d18 Rebuilt for Python 3.10 2021-06-04 21:16:47 +02:00
Petr Šplíchal c31792d0e9 Enable the minimal install plan 2021-06-03 10:06:50 +02:00
Petr Šplíchal b00cf6f708 Release tmt-1.6.0 2021-06-02 16:41:44 +02:00
Petr Šplíchal 8a075ab10c Release tmt-1.5.0 2021-04-30 13:18:56 +02:00
Petr Šplíchal e33cbcf907 Release tmt-1.4.0 2021-04-07 09:08:20 +02:00
Petr Šplíchal 8c945c21ce Release tmt-1.3.1 2021-02-25 20:10:10 +01:00
Petr Šplíchal cc1bdcd1fb Release tmt-1.3.0 2021-02-24 17:29:37 +01:00
Fedora Release Engineering 4bd3e22c86 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 22:03:56 +00:00
Petr Šplíchal f58aeb00c8 Release tmt-1.2.1 2020-12-11 15:49:09 +01:00
Petr Šplíchal 6ffc416f8b Disable the minimal plan and gating config 2020-12-09 20:32:17 +01:00
Petr Šplíchal 2d5f11102a Release tmt-1.2 2020-12-09 18:08:14 +01:00
Petr Šplíchal 8cf07fcf2b Ignore rpmlint error about non-executable-script 2020-12-09 17:34:53 +01:00
Petr Šplíchal 7a3b70506e Add a new plan to cover minimal installation 2020-11-27 19:10:15 +01:00
Petr Šplíchal df1266227d Release tmt-1.1 2020-10-22 19:07:06 +02:00
Petr Šplíchal 233d93fa80 Enable all tests from the tmt repo 2020-10-19 10:57:53 +02:00
8 changed files with 458 additions and 23 deletions
+10
View File
@@ -9,3 +9,13 @@
/tmt-0.20.tar.gz
/tmt-0.21.tar.gz
/tmt-1.0.tar.gz
/tmt-1.1.tar.gz
/tmt-1.2.tar.gz
/tmt-1.2.1.tar.gz
/tmt-1.3.0.tar.gz
/tmt-1.3.1.tar.gz
/tmt-1.4.0.tar.gz
/tmt-1.5.0.tar.gz
/tmt-1.6.0.tar.gz
/tmt-1.7.0.tar.gz
/tmt-1.8.0.tar.gz
-8
View File
@@ -1,8 +0,0 @@
--- !Policy
product_versions:
# note rawhide not yet supported properly :(
- fedora-34
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0-tf.functional}
-7
View File
@@ -1,7 +0,0 @@
summary: Essential command line features
discover:
how: fmf
repository: https://github.com/psss/tmt
filter: 'tier: 0, 1, 2'
execute:
how: beakerlib
+12
View File
@@ -0,0 +1,12 @@
summary: Verify that the minimal package works
discover:
tests:
- name: /install/minimal
test: cd $(mktemp -d) && tmt init -t full && tmt
prepare:
summary: Ensure that only 'tmt' is installed
name: minimal
order: 90
script: dnf remove -y 'tmt-*' --exclude tmt
execute:
how: tmt
+9
View File
@@ -0,0 +1,9 @@
summary:
Upstream tests working under virtual machine
discover:
how: fmf
url: https://github.com/psss/tmt
ref: fedora
filter: tag:virtual
execute:
how: tmt
+1 -1
View File
@@ -1 +1 @@
SHA512 (tmt-1.0.tar.gz) = 98cfa96e0f872a40e72d108e90a0f594563301f4ae1df8b30c53a229e96b998bcb6ae0287aec01c7f3ce231671e94cdcb6d43fac81b3c3e1036b8151b7bec78f
SHA512 (tmt-1.8.0.tar.gz) = 95604745d303c681615294b5c503821ab8036e4acdfc98ecf30ffa338301f2bdef9d30294d29929a9597a054fd3fd2a4097812a8a1c9bc9ee21457299536a822
+5
View File
@@ -0,0 +1,5 @@
# The detach runner is intentionally not executable
addFilter("python3-tmt.noarch: E: non-executable-script")
# Examples have .fmf used to mark metadata root
addFilter("tmt.noarch: W: hidden-file-or-dir")
+421 -7
View File
@@ -1,5 +1,5 @@
Name: tmt
Version: 1.0
Version: 1.8.0
Release: 1%{?dist}
Summary: Test Management Tool
@@ -27,7 +27,7 @@ Source0: https://github.com/psss/tmt/releases/download/%{version}/tmt-%{version}
# Main tmt package requires the Python module
Requires: python%{python3_pkgversion}-%{name} == %{version}-%{release}
Requires: git-core sshpass
Requires: git-core rsync sshpass
%description
The tmt Python module and command line tool implement the test
@@ -47,9 +47,14 @@ BuildRequires: python%{python3_pkgversion}-fmf
BuildRequires: python%{python3_pkgversion}-mock
BuildRequires: python%{python3_pkgversion}-requests
BuildRequires: python%{python3_pkgversion}-testcloud
BuildRequires: python%{python3_pkgversion}-markdown
BuildRequires: python%{python3_pkgversion}-junit_xml
BuildRequires: python%{python3_pkgversion}-ruamel-yaml
# Required for tests
BuildRequires: rsync
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
%if %{with oldreqs}
Requires: python%{python3_pkgversion}-PyYAML
Requires: python%{python3_pkgversion}-ruamel-yaml
%endif
%description -n python%{python3_pkgversion}-%{name}
@@ -70,25 +75,43 @@ Dependencies required to run tests in a container environment.
Summary: Virtual machine provisioner for the Test Management Tool
Obsoletes: tmt-testcloud < 0.17
Requires: tmt == %{version}-%{release}
Requires: python%{python3_pkgversion}-testcloud >= 0.3.5
Requires: ansible openssh-clients rsync
Requires: python%{python3_pkgversion}-testcloud >= 0.6.1
Requires: ansible openssh-clients
%description provision-virtual
Dependencies required to run tests in a local virtual machine.
%package test-convert
Summary: Test import and export dependencies
Requires: make python3-nitrate python3-html2text
Requires: make python3-nitrate python3-html2text python3-markdown
Requires: python3-bugzilla
%description test-convert
Additional dependencies needed for test metadata import and export.
%package report-html
Summary: Report plugin with support for generating web pages
Requires: python3-jinja2
%description report-html
Generate test results in the html format. Quickly review test
output thanks to direct links to output logs.
%package report-junit
Summary: Report plugin with support for generating JUnit output file
Requires: python3-junit_xml
%description report-junit
Generate test results in the JUnit format.
%package all
Summary: Extra dependencies for the Test Management Tool
Requires: tmt >= %{version}
Requires: tmt-provision-container >= %{version}
Requires: tmt-provision-virtual >= %{version}
Requires: tmt-test-convert >= %{version}
Requires: tmt-report-html >= %{version}
Requires: tmt-report-junit >= %{version}
%description all
All extra dependencies of the Test Management Tool. Install this
@@ -125,7 +148,7 @@ install -pm 644 bin/complete %{buildroot}/etc/bash_completion.d/tmt
export LANG=en_US.utf-8
%endif
%{__python3} -m pytest -vv -m 'not web'
%{__python3} -m pytest -vv -m 'not web' --ignore=tests/integration
%{!?_licensedir:%global license %%doc}
@@ -143,6 +166,8 @@ export LANG=en_US.utf-8
%{python3_sitelib}/%{name}-*.egg-info/
%license LICENSE
%exclude %{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}{podman,testcloud}.*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}html.*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}junit.*
%files provision-container
%{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}podman.*
@@ -150,6 +175,12 @@ export LANG=en_US.utf-8
%files provision-virtual
%{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}testcloud.*
%files report-html
%{python3_sitelib}/%{name}/steps/report/{,__pycache__/}html.*
%files report-junit
%{python3_sitelib}/%{name}/steps/report/{,__pycache__/}junit.*
%files test-convert
%license LICENSE
@@ -158,6 +189,389 @@ export LANG=en_US.utf-8
%changelog
* Thu Sep 30 2021 Lukáš Zachar <lzachar@redhat.com> - 1.8.0-1
- Add support for reboot in a reused provision
- Solve the reboot race condition
- Adjust the current git remote improvement
- Use current git remote for url in fmf-id
- Implement option to exit after first failure
- Clarify and update spec for the discover step
- Adjust the multihost test specification
- Add the multihost testing specification
- Make run --force behave more expectably
- Increase duration for tests using containers
- Rename soon-to-be deprecated resultcallback
- Remove the minute.obsolete provision plugin
- Document how to create a new minor/major release
- Explicitly mention '.' as special value for names
- Add Github Action for PyPI releases
- Improve fetching remote environment files
- Adjust the check for rsync before pull and push
- Install `rsync` before guest.pull()
- Second chapter of the Guide: Under The Hood
- Simplify the search for step method options
- Produce better errors for unsupported plugins
- Add more ignored files, categorize gitignore more
- Extend .gitignore with a few more common patterns
- (robin/master) Export fields of a case should be checked by lint
- Adjust the bugzilla support in test export
- Test export can link case to bugzilla
- Document the support for `open` key in html report
- Allow html report to be opened by plan
- Require essential packages for tmt testing
- Skip the docs test until the Sphinx issue is fixed
* Wed Aug 18 2021 Petr Šplíchal <psplicha@redhat.com> - 1.7.0-1
- Adjust support for exporting test fmf identifiers
- Add --fmf-id option for tests export
- Fix regression in image listing
- Update hardware spec with units and current status
- Adjust the reboot support in the internal executor
- Add support for reboot to internal executor
- Always try to save guest details
- Give hints about available report methods
- Handle libvirt exceptions correctly
- Handle FileNotFoundError when running commands
- Adjust framework detection during test import
- Detect test framework during test import
- Adjust the reboot command test, minor enhancements
- Adjust reboot command implementation
- Implement the reboot class and subcommand
- Adjust the improved login step selection
- Login after last done step without --step option
- Adjust default shell options implementation a bit
- Make multiline shell scripts fail on error
- Ensure environment files are within metadata tree
- Add pycharm .idea to .gitignore
- Ensure environment-file paths are only relative
- Adjust the 'environment-file' implementation
- Implement the 'environment-file' option
- Mention required packages on the Contribute page
- Migrate to ruamel.yaml
- Adjust tmt lint implementation
- Add tmt lint command
- Do not expand the process environment variables
- Adjust legacy match to cover both rhel and centos
- Guess pci/net when libguestfs python is missing
- Add timestamp to the tmt debug output
- Restart sshd on EL8 to prevent delays after boot
- Support systemd-networkd systems without nm too
- Testcloud: Use cache='unsafe' for a nice IO boost
- Check invalid attributes in plans with lint
- Require correct testcloud version in setup.py
- Adjust the support for plan parametrization
- Implement plan parametrization from environment
- Deprecation timing, mention vagrant box support
- Fix exit code for tmt story lint
- Require testcloud with the url guessing support
- Use testcloud for image url guessing
- Update the RHEL 8 / CentOS 8 install instructions
- Accept more ssh keys in the API
- Require a full path for local images in testcloud
- Adjust the conversion of Makefile types to tags
- Convert Type from Beaker Makefile into tags
- Make sure pip is available for integration testing
- Disable the white space test for container/virtual
- Use IdentitiesOnly=yes when key or password is set
* Wed Jun 02 2021 Petr Šplíchal <psplicha@redhat.com> - 1.6.0-1
- Adjust the new plugin documentation
- Add plugin examples and documentation
- Ensure that the discover git reference is a string
- Report plugin for JUnit output
- Fix issue when raising error for NoneType
- Print better error when nitrate testcase not found.
- Use `count=True` for multiple flag options
- Add option to explicitly use default plan
- Adjust debuginfo installation, add test coverage
- Use debuginfo-install for installing debuginfos
- Update the documentation based on refactoring
- Implement tmt story lint
- Refactor Node class to Core
- Correctly handle spaces in file/directory names
- Hand over plan environment during local execution
- Do not execute manual test cases
- Fix option handling for plugins with common prefix
- Propagate options to guests based on the step
- Support fetching libraries from a local directory
- Add a simple example of a test written in ansible
- Pass environment variables to ansible (local)
- Pass environment variables to ansible (virtual)
- Adjust warning for extra lines in Makefile targets
- Add test import warning for run and build targets
- Enable a few more pre-commit hooks, sort imports
- Give a warning about the obsoleted minute plugin
- Clarify adjust dependency on explicit context
- Fix the EPEL installation instructions
- Adjust the new list options for the minute plugin
- New print method, used now in minute plugin
- Implement listing available minute images/flavors
- Update default option values for verbose and debug
- Avoid creating workdir on --help
- Do not keep run workdir during testing
- Clean up the code style, remove the vagrant plugin
* Fri Apr 30 2021 Petr Šplíchal <psplicha@redhat.com> - 1.5.0-1
- Enable and document `pre-commit` and `autopep8`
- Reorganize feature stories, fix title duplication
- Prepare/install story for package development.
- Add package preparation scenarios from Fedora CI
- Prepare/install story for released packages
- Add new stories related to package preparation
- Fix login not working for cloud images
- Work around a seccomp podman issue on centos-8
- Tag multihost tests during import from Makefile
- Adjust the simple test for ansible prepare
- Remove hardcoded ansible_python_interpreter=auto
- Fix lint and use it on the tmt repo itself
- Obsolete the minute provision plugin
- Update the documentation for contributors
- Do not assert installed packages for recommend
- Show link to the full debug log in the html report
- Implement tmt clean command
- Require a newer fmf which supports storing data
- Allow to specify port in provision.connect
- Surround classes and functions with 2 blank lines
- Fix order of imports, sort them alphabetically
- Update the provision step hardware specification
- Fix tmt plan lint for multiple configurations
- Add tmt status examples section
- Add a context adjust example for the prepare step
- Adjust the git suffix stripping for known forges
- Strip git suffix from pagure/gitlab/github repos
- Enable install plans for pull request testing
- Adjust the essential attributes description
- Document the essential class attributes
- Improve the prepare step documentation
- Correctly convert relevancy with the `!=` operator
- Print note in report.html if it exists
- Add note about error for beakerlib results
- Adjust progress bar for the internal executor
- Add test progress bar to non-verbose mode
- Adjust the attribute linting for tests
- Lint attribute names for test
- Human friendly names for VMs
* Tue Apr 06 2021 Petr Šplíchal <psplicha@redhat.com> - 1.4.0-1
- Create a copy of nitrate testplans for iteration
- Check the rsync as the first preparation step
- Use an empty worktree if no metadata tree found
- Adjust manual test instructions export to nitrate
- Export manual test case fields to nitrate
- Adjust the worktree implementation and test
- Implement shared worktree for the tests
- Adjust the improved verdict implementation
- Correct the verdict function, align docstring
- Print final image name in minute plugin
- Adjust the improved plan linting a bit
- Improve plan linting
- Implement port in Guest, show in verbose mode
- Use qemu user mode in the testcloud provision
- Support excluding packages during installation
- Support enabling/disabling plans and stories
- Do not link and remove general plans by default
- Improve general plans handling during test export
- Match by name prefix in discover.modified-only
- Passthrough non-zero exits for beakerlib execution
- Adjust the dry mode implementation for tmt init
- Implement dry mode for the tmt init command
- Do not use the spec release for the pip version
- Simplify story, plan and test search methods
- Do not use mutable objects as default arguments
- Prevent duplicate content in generated docs
- Ignore the nitrate migration warning during import
- Better summary for new exported tests
- Adjust exception handling in the testcloud plugin
- Make the testcloud ProvisionError more verbose
- Use IPv6 enabled 1MT network by default
- Improve debugging of tests using click runner
- Fix step selection for --before and --after
- Adjust the prepare test and pull/push enhancements
- Add prepare/shell test and pull/push enhancements
- Test filter on command line overrides config
- Improve handling of verbose and debug options
- Verify automated test case import from nitrate
- Enable copr repo even if no package is provided
- Improve documentation of tests, plans and stories
- Use fmf to store the newly created nitrate case id
- Adjust the hint about increasing the test duration
- Add hint to stdout in case of timeout
- Catch all exceptions when evaluating --condition
- Fix missing overview on the readthedocs.org site
- Adjust style of the new nitrate integration test
- Nitrate integration testsuite with requre
- Always enable force mode for display/html report
- Improve documentation, clearly show draft stories
- Test filter on command line overrides config
- Print unofficial attributes in tmt tests show -vv
- Adjust dry mode fix for test/plan/story create
- Implement dry mode for tmt test/plan/story create
- Support NO_COLOR to disable colored output
- Add test duration to `results.yaml`
- Adjust checking for duplicates during test export
- Prevent creating duplicate test cases in Nitrate
- Use singular for 'gate' as defined in the spec
- Fix gates conversion & drop artifacts
- Adjust a bit the shell completion instructions
- Describe how to enable shell completions
- Extend the duration test to cover positive results
- Detect timeout for Beakerlib, use TESTRESULT_STATE
- Improve tmt test path linting
- Clarify playbook path for ansible prepare plugin
- Adjust warning about the invalid disabled step
- Only warn on invalid disabled step
- Use date-service to get correct instantiation time
- Prevent keys mutation when searching plans/stories
- Cache fmf_id property
- Store relevant bugs during test import
- Avoid mutating `keys` default in .tests()
- Use the new execute method syntax for tmt tests
- Clean up obsolete test metadata
* Thu Feb 25 2021 Petr Šplíchal <psplicha@redhat.com> - 1.3.1-1
- Add test for prepare freeze
- Make file descriptors non-blocking
- Update the specification and stories to use link
- Implement the new core attribute 'link'
* Tue Feb 23 2021 Petr Šplíchal <psplicha@redhat.com> - 1.3.0-1
- Set timeout on select calls in utils._run()
- Show the current tmt version in the debug log
- Revert support for the 'el' distro shortcut
- Strip whitespace before relevancy comment
- Ensure rsync is installed on the guest if needed
- Use the default branch in the discover fmf plugin
- Suport the 'el' shortcut for the distro context
- Implement the 'tmt --version' option [fix #445]
- Adjust test create test, fix missing dots
- Support creating tests in the current directory
- Rename container images, update install docs
- Fixup Dockerfiles to build in quay.io.
- Support building mini and full tmt container image
- Add a Dockerfile for container with tmt
- Fix dependency error messages
- Use a better trigger name for source code changes
- Add a new 'Check Report' section to examples
- Add the --force explanation in the documentation
- Extend the test coverage to check for active runs
- Add basic test coverage for tmt status
- Restore context after processing each run
- Correctly handle an undefined step status
- Load default plan when no root is present
- Implement tmt status command
- Define command-line interface for status command
- Print library in error message during ref conflict
- Adjust the default branch handling for libraries
- Handle default branch in Library
- Adjust test duration, clean up old test metadata
- Improve timeout handling (fix an infinite loop)
- Adjust default timeout in the testcloud provision
- Remove obsolete unit test coverage for steps
- Adjust the filtering support, fix docs building
- Allow filtering using custom L1 metadata
- Allow filtering with lowercase bool names
- Handle exceptions when applying filters and conditions
- Share code for filters & conditions, test coverage
- Apply filters after applying defaults and conversions
- Fix IPv4 parsing when booting minute machine
- Remove all hacks for the old cruncher executor
- Remove the whole rhts-lint line during test import
- Remove the old convert test from unit tests
- Adjust contact handling to work with manual tests
- Fix contacts without name during tmt test import
- Finalize the specification of the 'link' attribute
- Add specification of the new core attribute 'link'
- Enough of dreaming, let's go to the forest! :)
- Update the overview of core classes, minor cleanup
- Add missing required packages for pip install
- Implement tmt run --follow option for checking log
- Extra check for required packages when using yum
- Clean up obsolete names in examples and templates
- Update the test checking for relevancy conversion
- Adjust storing test case id for new nitrate cases
- Append nitrate id when exporting instead of rewrite
- Skip prereserve check if custom flavor requested
- Use special compare operators only if minor given
- Adjust support for selecting modified tests
- Allow selecting only tests that have changed in git
- Remove the duplicate build job from packit config
- Verify the old beakerlib functions using Makefile
- Enable debug output using the TMT_DEBUG variable
* Fri Dec 11 2020 Petr Šplíchal <psplicha@redhat.com> - 1.2.1-1
- Manual state for manual nitrate tests
- Define framework for all beakerlib libraries tests
- Remove the remaining test case relevancy leftovers
* Wed Dec 09 2020 Petr Šplíchal <psplicha@redhat.com> - 1.2-1
- Minor adjustment of the beakerlib test template
- Adjust the new test checking the error output
- Print errors to stderr
- Fix check for selecting plans during tmt run
- Update test coverage, fix finish step example
- Update spec/stories implementation coverage
- Skip import of manual cases with script
- Import header and footer from Nitrate
- Implement conversion between relevancy and adjust
- Support short options for selecting tests & plans
- Document the display and html report in the spec
- Explain the difference between fmf and tmt
- Fix the last missing framework in library tests
- Adjust the docs update and title implementation
- Implement a new story attribute 'title' (L3)
- Small documentation cleanup
- Simplify plan setup, move old plans to examples
- Store the whole debug log in the top run directory
- Add test for pip installability
- Add a new plan to cover minimal installation
- Move html report plugin into a separate subpackage
- Use 'output.txt' filename for the main test output
- Update required fmf version in setup.py
- Improve the css style for the html report
- Fix blocking read in Common.run
- Adjust a bit the improved html report
- Improve report-html --open
- Implement adjusting metadata based on the context
- Adjust the new 'html' report method
- New report --how html available
- Adjust environment import from Makefile metadata
- Import environment from Makefile metadata
- Update old beakerlib paths during tmt test import
- Adjust a little bit the user story templates
- Support libraries stored deep in the repositories
- Enable the new coverage stories section in docs
- First stories to cover tests coverage mapping
- Recommend using login shell in libvirt hints
- Use nitrate naming for the manual field export
- Export manual attribute to nitrate
- Store complete initialized data in metadata.yaml
- Merge the improved minute error messages [#425]
- Adjust a bit the minute provision error messages
- Handle testcloud problem with the images directory
- Handle tracebacks in minute provision
- Multiple enhancements for package preparation
- Gracefully handle invalid library reference
* Thu Oct 22 2020 Petr Šplíchal <psplicha@redhat.com> - 1.1-1
- Convert adds extra-summary as well
- Simplify test directory copy with enabled symlinks
- Select latest minute image only from released images
- Allow specifying exact RHEL version using a short name
- Preserve symlinks during discover, pull and push
- Always run Login plugin even if step is done
- Suggest some useful aliases for common use cases
- Correct type of Tier attribute in examples
- Define basic hardware environment specification
- Import manual data for automated tests
- Tag tests which can be run under container/virtual
- Give hints to install provision plugins [fix #405]
- Handle nicely missing library metadata [fix #397]
- Update the test data directory name in the spec
- Extend duration for tests using virtualization
- Use a better name for the test data path method
- Provide aggregated test metadata for execution
- Send warnings to stderr, introduce a fail() method
* Wed Oct 07 2020 Petr Šplíchal <psplicha@redhat.com> - 1.0-1
- Correctly handle framework for new plans and tests
- Move runtest.sh adjustments into a single function