forked from teemtee/tmt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tmt.spec
1380 lines (1294 loc) · 59.1 KB
/
tmt.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Name: tmt
Version: 1.16.0
Release: 1%{?dist}
Summary: Test Management Tool
License: MIT
BuildArch: noarch
# Build only on arches where libguestfs (needed by testcloud) is available
%{?kernel_arches:ExclusiveArch: %{kernel_arches} noarch}
%if 0%{?rhel} >= 9
ExcludeArch: %{power64}
%endif
URL: https://github.com/teemtee/tmt
Source0: https://github.com/teemtee/tmt/releases/download/%{version}/tmt-%{version}.tar.gz
%define workdir_root /var/tmp/tmt
# Main tmt package requires the Python module
Requires: python%{python3_pkgversion}-%{name} == %{version}-%{release}
Requires: git-core rsync sshpass
%description
The tmt Python module and command line tool implement the test
metadata specification (L1 and L2) and allows easy test execution.
This package contains the command line tool.
%?python_enable_dependency_generator
%package -n python%{python3_pkgversion}-%{name}
Summary: Python library for the %{summary}
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-docutils
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_pkgversion}-pytest
BuildRequires: python%{python3_pkgversion}-click
BuildRequires: python%{python3_pkgversion}-fmf >= 1.2.0
BuildRequires: python%{python3_pkgversion}-requests
BuildRequires: python%{python3_pkgversion}-testcloud >= 0.8.1
BuildRequires: python%{python3_pkgversion}-markdown
BuildRequires: python%{python3_pkgversion}-junit_xml
BuildRequires: python%{python3_pkgversion}-ruamel-yaml
# Only needed for rhel-8 (it has python3.6)
%if 0%{?rhel} == 8
BuildRequires: python%{python3_pkgversion}-typing-extensions
BuildRequires: python%{python3_pkgversion}-dataclasses
BuildRequires: python%{python3_pkgversion}-importlib-metadata
%endif
# Required for tests
BuildRequires: rsync
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
%description -n python%{python3_pkgversion}-%{name}
The tmt Python module and command line tool implement the test
metadata specification (L1 and L2) and allows easy test execution.
This package contains the Python 3 module.
%package provision-container
Summary: Container provisioner for the Test Management Tool
Obsoletes: tmt-container < 0.17
Requires: tmt == %{version}-%{release}
Requires: podman
Requires: (ansible or ansible-collection-containers-podman)
%description provision-container
Dependencies required to run tests in a container environment.
%package provision-virtual
Summary: Virtual machine provisioner for the Test Management Tool
Obsoletes: tmt-testcloud < 0.17
Requires: tmt == %{version}-%{release}
Requires: python%{python3_pkgversion}-testcloud >= 0.8.1
Requires: libvirt-daemon-config-network
Requires: openssh-clients
Requires: (ansible or ansible-core)
# Recommend qemu system emulators for supported arches
%if 0%{?fedora}
Recommends: qemu-system-aarch64-core
Recommends: qemu-system-ppc-core
Recommends: qemu-system-s390x-core
Recommends: qemu-system-x86-core
%endif
%description provision-virtual
Dependencies required to run tests in a local virtual machine.
%package test-convert
Summary: Test import and export dependencies
Requires: tmt == %{version}-%{release}
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: tmt == %{version}-%{release}
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: tmt == %{version}-%{release}
Requires: python3-junit_xml
%description report-junit
Generate test results in the JUnit format.
%package report-polarion
Summary: Report plugin with support for generating Polarion test runs
Requires: tmt-report-junit >= %{version}
%description report-polarion
Generate test results in xUnit format for exporting to Polarion.
%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}
Requires: tmt-report-polarion >= %{version}
%description all
All extra dependencies of the Test Management Tool. Install this
package to have all available plugins ready for testing.
%prep
%autosetup
%build
%py3_build
%install
%py3_install
mkdir -p %{buildroot}%{_mandir}/man1
mkdir -p %{buildroot}/etc/bash_completion.d/
install -pm 644 tmt.1* %{buildroot}%{_mandir}/man1
install -pm 644 bin/complete %{buildroot}/etc/bash_completion.d/tmt
mkdir -p %{buildroot}%{workdir_root}
chmod 1777 %{buildroot}%{workdir_root}
%check
%{__python3} -m pytest -vv -m 'not web' --ignore=tests/integration
%{!?_licensedir:%global license %%doc}
%files
%{_mandir}/man1/*
%{_bindir}/%{name}
%doc README.rst examples
%license LICENSE
/etc/bash_completion.d/tmt
%files -n python%{python3_pkgversion}-%{name}
%{python3_sitelib}/%{name}/
%{python3_sitelib}/%{name}-*.egg-info/
%license LICENSE
%dir %{workdir_root}
%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.*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}polarion.*
%files provision-container
%{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}podman.*
%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 report-polarion
%{python3_sitelib}/%{name}/steps/report/{,__pycache__/}polarion.*
%files test-convert
%license LICENSE
%files all
%license LICENSE
%changelog
* Wed Aug 03 2022 Lukáš Zachar <[email protected]> - 1.16.0-1
- Reboot has to check for boot time
- Fix path inside pre-commit test
- Cut circular dependency of libraries
- Update 'Develop' section of contribution docs
- Precommit hooks to call tmt * lint
- Schema loading helpers
- Package schemas in subdirectories too
- Implement reboot reconnect timeout configuration
- Add missing report specifications/docs
- Print result for execute -v
- Correct import assumption about script
- Ask mypy to check whole tmt.steps.report package
- Fixing the directory name escaping in 'cd' command
- Add polarion report plugin
- Add schemas for plans
- Write extra-nitrate as soon as possible
- Retry git clone without --depth=1 if it failed
- Support to lint attribute 'id'
- Do not apply test command filter in upgrade
- Fix export.py typing issues
- Refactor location and signature of Phase's go() method
- Simplify abort handling
- Backwards compatibility for rstrnt-abort
- Add type annotations for tmt/cli.py
- Add typing for tmt/export.py
- add typing for steps/discover/__init__.py
- Convert guest implementations to use serializable container for load/save
- Detect plugins by entry_point as well
- Add typing for `steps/execute/__init__.py`
- Add typing for `tmt/convert.py`
- Remove duplicated dist-git-source/dist-git-type
- Add typing for `steps/report/junit.py`
- Add typing for `steps/report/html.py`
- add typing for steps/report/display.py
- Add typing for steps/report/__init__.py
- tmt-file-submit is a bash script
- Add type annotations for tmt/options.py
- Backwards compatibility for `rstrnt-report-log`
- Support conditional requires with `pip` as well
- Remove duplicated short option in tmt lint
- Adjust the `rstrnt-report-result` implementation
- Backwards compatibility for `rstrnt-report-result`
- Set the `1777` permision for `/var/tmp/tmt`
- Adjust the fix for the `rpm-ostree` intallation
- Fix package installation using `rpm-ostree`
- Handle empty fmf file as an empty dictionary
- Fix distgit testsuite after tmt packaging change
* Sat Jul 02 2022 Lukáš Zachar <[email protected]> - 1.15.0-1
- Require fresh testcloud with coreos support
- Bad substitution in tmt-reboot
- Ignore "certificate verify failed" error when handling retries
- Cache content of each loaded environment file
- Initial polarion support for test export
- Fixes names of Artemis API versions
- Convert FmfIdType from TypedDict to a dataclass
- Add CoreOS support to the testcloud provision
- Run containers with root user
- Retry getting environment file
- Test import --general is default now
- Add typing for steps/finish/shell.py
- Enhance tmt.utils.retry_session with timeout support
- Adjust the `rpm-ostree` install implementation
- Add support for the `rpm-ostree` package manager
- Add `environment-file` to possible Plan keys
- Avoid Library url conflict if repo doesn't exist
- Check changes are pushed before export nitrate
- Add typing for beakerlib.py
- Unbundle template from the report.html plugin
- Rename `uuid` to `identifier` to prevent conflicts
- Use `must` for all mandatory spec requirements
- Fail import for packages starting with minus sign
- Adds support for newer Artemis API versions
- Disable the extra verbose progress in testcloud
- Refactor internal executor scripts
- Adds "missing" imports to help IDEs follow objects
- Add typing for steps/__init__.py
- Implement the test `result` attribute
- Add typing for plugins/__init__.py
- Detect legacy relevancy during import as well
- Implement the new user story key `priority`
- Implement new class `SerializableContainer`
- Add schema for stories
- Add typing for steps/prepare/shell.py
- Add typing for steps/prepare/ansible.py
- Require fmf >= 1.1.0 (we need validation support)
- Package fmf root into the source tarball as well
- Add JSON Schema for tests
- Exclude namespaced backup in beakerlib
- Use --depth=1 when cloning git repos by default
- Handle missing nitrate user during export
- Removes unused GuestContainer.container_id attribute
- Every subpackage must require the main tmt package
- Introduce dataclasses as a requirement
- Avoid re-using image/instance for different values by testcloud plugin
- Add typing for multihost.py
- Except nitrate xmlrpc issues during import
- Exclude beakerlib's backup dir from guest.pull()
- Increase `duration` for the reboot-related tests
- Several release-related tests and docs adjustments
* Mon Jun 06 2022 Petr Šplíchal <[email protected]> - 1.14.0-1
- Command 'tmt clean' should not run rsync at all
- Dist-git-source for Discover (fmf, shell)
- Adjust the new `id` key implementation
- Add a new core key `id` for unique identifiers
- Recommend qemu emulators for other architectures
- Copy the whole git repo only if necessary
- Reveal hidden errors during `testcloud` booting
- Use time for timeout handling in Guest.reconnect()
- Split `Guest` class to separate SSH-capable guests
- Explicitly set the docs language in the config
- Kill the running test when rebooting
- Extend the reboot timeout to allow system upgrades
- Allow selecting tasks directly from upgrade config
- Adjust the new `upgrade` execute plugin
- Allow specifying command for reboot
- Implement upgrade execute plugin
- Buildrequire python3-docutils, append plan adjust
- Implement `tmt tests export --nitrate --link-runs`
- Detect component from general plan during import
- Adjust the support for steps in standalone mode
- Add results method to ExecutePlugin
- Implement a common ancestor for Action and Plugin
- Allow abstractly excluding steps from runs
- Correctly handle tests --name '.' shortcut
- Rename WorkdirType to WorkdirArgumentType
- Fix workdir parameter type for tmt.utils.Common
- Allows importing jira issues as link-relates
- Enables mypy coverage for empty-ish Python files
- Adds type annotations to tmt.templates
- Prevent infinite recursion if --id is set
- Enable mypy check for Artemis provision plugin
- Adjust provision dry mode propagation, add a test
- Introduce new _options attribute to Common class
- Add specification for remote plans referencing
- Bootstrap type annotations
- Execute script should not be used with discover
- Add the `arch` key to the hardware specification
- Fix pip install instructions
- Disable network access when building in copr
- Ignore list for dist-git-source
- Remove the obsoleted `detach` execute method
- Fix login during `execute` and `prepare` step
- Import from Makefile with missing build target
* Mon May 02 2022 Petr Šplíchal <[email protected]> - 1.13.0-1
- Add multiarch support to testcloud provision
- Consistent summary for test export --nitrate
- Allow dry mode for tests export --nitrate
- Add a nice provisioning progress to Artemis plugin
- Add support for the `where` keyword to `execute`
- Adjust support for export of multiple tests
- Add support for exporting multiple tests
- Basic multihost test for the httpd web server
- Update multihost specification with guest groups
- Add a provision plugin for Artemis
- Fix exclude option in fmf discover
- Reduce the number of execute calls for reboot
- Add support for reboot in interactive mode
* Mon Apr 04 2022 Petr Šplíchal <[email protected]> - 1.12.0-1
- Add a command to setup shell completions
- Use /tmp instead of /run/user/ if not available
- Use separate examples in the test specification
- Add more story examples, simplify examples export
- Story.example can hold list of strings
- Fix traceback when connect plugin is used without hostname.
- Adjust disabled shell expansion in Common.run()
- Disable shell expansion in Common.run() by default
- Build `epel9` packages, update install docs
- Adjust the full test wrapper and document it
- Test which compiles tmt and runs its testsuite
- Add --exclude search option
- Correct regex for require read from metadata file
- Update document for creating virtual environment
- Option to export fmf-id from run discover -h fmf
- Allow import from restraint's metadata file (#1043)
- Do not disable building for power arch on Fedora
- Update documentation for plan parametrization
- Make .vscode ignored by git
- Drops basestring and unicode built-ins from utils
- Fix timeout behaviour in testcloud plugin
- Fixes possible test of None-ish CWD when running a command
- Remove workdir only when its defined
- Adjust the new `tmt plan export` feature
- New feature: tmt plan export
* Wed Mar 02 2022 Petr Šplíchal <[email protected]> - 1.11.0-1
- Prevent koji build failures on unsupported arches
- Check remote git URL if it is accessible
- Implement a generic `requires` for all plugins
- Run commands in podman provision via bash
- Adjust implementation of the new `order` attribute
- Implement the Core attribute `order`
- Fix link generation in report.html
- Improve step name handling
- Enable shared volume mounts in podman provision
- Add support for multihost provision and prepare
- Adjust the dnf support for rsync install
- Add dnf support for rsync install
- Update links and refs after migration to `teemtee`
- Track output for reboot purposes on per-test basis
- Fix test --name '.' used with multiple plans
- Tweak test suite (duration, centos:8, datadir)
- Use `os.pathsep` to separate `TMT_PLUGINS` paths (#1049)
- Document framework:shell exit codes
- Add `html2text` to the `convert` pip dependencies
* Tue Feb 01 2022 Lukáš Zachar <[email protected]> - 1.10.0-1
- Make reboot support a bit more backward compatible
- Ensure that workdir has a correct selinux context
- Use `centos:stream8` image instead of `centos:8`
- Disable X11 forwarding in ssh connections
- Fix traceback for login after last report
- Use `TMT_TEST_DATA` as location for `rlFileSubmit`
- Implement variables for storing logs and artifacts
- Adjust rsync installation on read-only distros
- Handle rsync installation on read-only distros
- Add hardware specification for hostname
- Correctly import multiple bugs from Makefile
- Remove dependency on the `python3-mock` package
- Adjust linting of manual test files
- Check Markdown files in tmt lint if `manual=True`
- Adjust pulling logs from the guest during finish
- Add guest.pull() to the finish step
- Update virtualization hints for session connection
- Improve error message for empty git repositories
- Minor modification of test result specification
- Use `where` instead of `on` in the multihost spec
- Clarify that `path` is defined from the tree root
- Adjust ansible requires for containers preparation
- Move the reboot scripts to a read/write directory
- Ignore read/only file systems reboot script errors
- Require either ansible or ansible-core
- Set the `TMT_TREE` variable during test execution
- Clarify that 'until' means until and including
- Update test debugging examples with --force option
- Add `bios.method` to hardware spec
- Improve environment variables specification a bit
- Adjust the ssh connection multiplexing
- Add support for ssh multiplexing
* Tue Nov 30 2021 Petr Šplíchal <[email protected]> - 1.9.0-1
- Improve testcloud/virtual provider docs
- Disable UseDNS, GSSAPI for faster SSH in testcloud
- Use `extra-args` attr for ansible-playbook
- Fix el7 provision in testcloud user session
- Adjust the instructions for migrating from STI
- Document how to migrate tests from STI to tmt
- Allow to pick objects by --link
- Generate ecdsa key in testcloud
- Simplify plugin keys handling in wake() and show()
- Add support for Beakerlib's rlFileSubmit
- Revert requiring exact beakerlib version
- Dist git source can contain multiple files
- Symlink worktree for discovered shell tests
- Read environment variables from options only once
- Correctly handle empty environment files
- Use distro values from context for dist-git type
- Make tests --name to just prune discovered tests
- Enable duplicate test names and preserve ordering
- Require beakerlib-1.28 for beakerlib tests
- Adjust the dist git source discover implementation
- Discover tmt tests from sources
- Reenable plans/install/docs
- Correct the `playbook` attribute in the spec (#948)
- Ansible plugin for Finish step
- Thread processing of executed commands inside tmt
- Adjust `tmt test lint` test for old yaml format
- Canonical name for centos-stream in dimension
- Remove obsoleted conditionals from the spec file
- Use a fresh sphinx when building the readthedocs
- Allow to specify session type (system/session)
- Package tmt.plugins to store arbitrary plugins
- Ignore ssh connection closed during reboot
- Improve error message for the missing step name
- Document how to integrate tests with other tools
- Use the recommended format of the copyright notice
- Update notes about the release process
- Update the hardware specification with new keys
* Thu Sep 30 2021 Lukáš Zachar <[email protected]> - 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
- 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 1.0-1
- Correctly handle framework for new plans and tests
- Move runtest.sh adjustments into a single function
- Add the executable permission to runtest.sh
- Less strict removing sourcing of rhts-environment
- Use metadata directory as the default for path
- Implement the new L1 attribute 'framework'
- Explicitly enable copr_build for pull requests
- Handle missing library in existing repository
- Update the overall tmt description and examples
- Enable builds from master in the main copr repo
- Merge packit config for copr builds from master
- Use packit repository for copr builds from master
- Gracefully handle invalid test output
- Build in COPR for master via packit
- Add hint about caching the dnf package metadata
- Add two hints about easy login for experimenting
- Merge debug messages for the minute plugin [#361]
- Adjust the minute provision debug messages wording
- Use the internal tmt executor by default
- Add more debug messages to minute provision
- Remove the remaining 'tmt test convert' references
- Prevent shebang mangling for detached executor
- Merge the minute and install plugin docs [#345]
- Adjust the minute and install plugin documentation
- Merge the manual test import documentation [#347]
- Adjust the manual test documentation wording
- Merge rhts-environment source line removal [#344]
- Adjust rhts-environment source line removal
- Add missing extra-* keys to the test import
- Add docs for manual case import
- Disable authentication when fetching libraries
- Document the install prepare method
- Document the minute provision method
- Remove sourcing of rhts-environment in runtest.sh
- Add minute to supported provision methods of prepare
* Mon Sep 07 2020 Petr Šplíchal <[email protected]> - 0.21-1
- Adjust manual test case import from nitrate [#319]
- Move the test convert deps into a separate package
- Support importing manual test cases from Nitrate
- Merge the non-zero exit codes for linting errors
- Fix several test export issues [fix #337]
- Adjust distro checks, remove the dry parameter
- Generalized Guest.details() [fix #310]
- Adjust the test coverage for tmt plan/test lint
- Update documentation with virtualization tips
- Make sure the duration timer is always canceled
- Merge the new retry_session functionality [#328]
- Exit with non-zero code if linting fails
- Merge fix for the double fmf extension [#327]
- Prevent koji from trying to build packages on i686
- Retry requests in case of network failure
- Avoid double fmf extension when creating plans and stories
- Improve the maximum test duration handling
- Remove vagrant from tmt-all recommended packages
- Detect beakerlib libraries from recommend as well
- Simplify packit custom create archive command
- Make the httpd test example a bit more interesting
- Append dots to fix tmt run --help message summary
- Document multiple configs and extending steps
* Tue Jul 28 2020 Petr Šplíchal <[email protected]> - 0.20-1
- Move libraries handling into a separate module
- Adjust loading variables from YAML files [#316]
- Support environment variables from YAML files
- Give a nice error for expired kerberos [fix #57]
- Merge Guest relocation and documentation [#307]
- Describe essential Guest methods in more detail
- Update test import story and documentation
- Merge extra-task as summary in test export [#304]
- Move default plan handling into a single method
- Move the Guest class from base to steps.provision
- Save root in run.yaml
- Document L1 metadata defined in the discover step
- Improve Makefile editing during test import
- Use extra-task as summary in test export
- Mention default methods in the step help message
- Handle invalid url when library provided as fmf id
- Allow library git clone to fail
* Fri Jun 12 2020 Petr Šplíchal <[email protected]> - 0.19-1
- Make the discover step a little bit more secure
- Improve basic and verbose output of tmt plan show
- Improve default plan handling and more [fix #287]
- Adjust the compose check retry in testcloud
- Retry Fedora compose check in testcloud [fix #275]
- Update development section and library example
- Support fetching beakerlib libraries in discover
- Add nitrate to the setup.py extra requires
- Add a workflow-tomorrow integration test example
- Add 'duration' into the test results specification
* Mon Jun 01 2020 Petr Šplíchal <[email protected]> - 0.18-1
- Add virtual plans for supported provision methods
- Implement description in 'tmt plan show' as well
- Implement tmt run --remove to remove workdir
- Extend the login/step test to cover failed command
- Do not fail upon command fail in interactive mode
- Implement the internal tmt execute step method
- Move all prepare/install tests to tier level 3
- Merge the new manual test specification [#247]
- Merge the new L1 attribute 'recommend' [#265]
- Adjust the manual test specification and examples
- Implement 'recommend' for installing soft requires
- State explicitly that execution is finished
- Simplify beakerlib template, add test for init
- Manual test case specification and examples
- Implement exit codes, handle no tests [fix #246]
- Merge the interactive shell login command [#258]
- Adjust support for shortened 1MT image names
- New login command to provide a shell on guest
- Add support for shortened 1MT image names
- Add support for running tests without defined plan
- Ignore save() in the execute step unit test
- Update the default run example with fresh output
- Show kernel version only in verbose mode
* Sat May 23 2020 Petr Šplíchal <[email protected]> - 0.17-1
- Use emulator_path instead of hard-coded qemu path
- Improve a bit the --force option description
- Use consistent naming for provision subpackages
- Add 'mock' to extra requires (needed to make docs)
- Move podman and testcloud plugins into subpackages
- Enable epel for packit build & testing farm
- Move vagrant from requires to recommends (tmt-all)
* Mon May 18 2020 Petr Šplíchal <[email protected]> - 0.16-1
- Merge the fix and test for run --force [#245]
- Merge the improved display report [#241]
- Adjust the display report plugin verbose output
- Adjust general plan linking and component check