Comments (5)
I wonder, wouldn't be better if we would take the approach which gluetool is taking with --output option and have the debug output be always written out to a debug log in run
directory and when the command fails reference this log to the user where he can do additional investigation?
I agree that if we can, let's print reasonable user errors.
from tmt.
I strongly agree with outputing the errors occured (we can put 10 lines there and path to the file containing the log). I'd rather avoid chaning the log location based on user request (--output
). That's what --id
is for, right?
Personally, I prefer catching the expected errors, and even parsing the error output and recovering / producing meaningful error message. Traceback (log) is the last resort.
from tmt.
F.e.:
- https://github.com/psss/tmt/blob/master/tmt/steps/provision/vagrant.py#L218
- https://github.com/psss/tmt/blob/master/tmt/steps/prepare/__init__.py#L137
It would be nice if we'd have that implemented in some generalal way.
from tmt.
Good ideas! Makes sense to me. To sum up:
- Always include detailed debug output under the
run
directory - Whenever possible try to detect problems and provide a reasonable error
- Point users to the log file to investigate details of the error
Does this look good to you?
from tmt.
This has been fixed by #218. Example output:
> tmt run -a plan --name smoke prepare -h shell -s 'sudo dnf install -y tmttt'
/var/tmp/tmt/run-413
/plans/smoke
discover
how: shell
directory: /home/psss/git/tmt
summary: 1 test selected
provision
how: local
distro: Fedora release 31 (Thirty One)
kernel: 5.5.11-200.fc31.x86_64
summary: 1 guest provisioned
prepare
how: shell
overview: 1 script found
finish
stdout (2/2 lines)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Last metadata expiration check: 0:13:15 ago on St 29. dubna 2020, 14:37:52 CEST.
No match for argument: tmttt
stderr (1/1 lines)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: Unable to find a match: tmttt
ERROR Failed to run command 'sudo dnf install -y tmttt'.
from tmt.
Related Issues (20)
- The `feature` plugin for `epel` does not work on command line HOT 1
- Add `feature: beakerlib` HOT 1
- Improve initialized message
- plans imports do not propagate context into imported plans HOT 1
- RFE: set RSTRNT_TASKNAME based on TMT_TEST_NAME
- Make the result of an empty plan configurable HOT 6
- Accept whole words in tmt try interactive session HOT 4
- Add short help option
- Custom reports from streamed test result objects HOT 1
- Exception when running Ansible preparation from CLI HOT 2
- tmt doesn't cancel the provision process when users "ctrl-c" the "tmt run/try" command during provision process
- finish step will Not remove the guest if it's not provisioned successfully
- report: junit: resulting xml to include relevant test run information
- `tmt` doesn't fail on invalid YAML keys HOT 1
- tmt leapp upgrade failed if the case not in default-0 group
- CentOS 7 is EOL, find a replacement for its repositories HOT 2
- dist-git: Make sure to pick fmf root from extracted sources
- Doc: Move `Class overview` section somewhere more prominent HOT 2
- Fix Polarion export/import generating UUID to use library code from tmt.identifier
- RFE: allow test dependency packages to be installed on test phase and not on plan preparation HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tmt.