From Fedora Project Wiki
(fix copy permissions) |
(tweak layout to avoid confusion about indentation, and specify you're expecting a TypeError; see https://bugzilla.redhat.com/show_bug.cgi?id=578969) |
||
Line 8: | Line 8: | ||
# Find a python {{filename|.py}} file which is part of an official Fedora package. For example, {{filename|/usr/share/doc/smolt-1.*/lite2my.py}} which is provided by the {{package|smolt}} package. First, save a back-up of the file: {{command|su -c 'cp -a /usr/share/doc/smolt-1.*/lite2my.py /tmp/'}} | # Find a python {{filename|.py}} file which is part of an official Fedora package. For example, {{filename|/usr/share/doc/smolt-1.*/lite2my.py}} which is provided by the {{package|smolt}} package. First, save a back-up of the file: {{command|su -c 'cp -a /usr/share/doc/smolt-1.*/lite2my.py /tmp/'}} | ||
# Now, edit the file {{filename|/usr/share/doc/smolt-1.*/lite2my.py}} to contain some invalid Python code. For example, | # Now, edit the file {{filename|/usr/share/doc/smolt-1.*/lite2my.py}} to contain some invalid Python code. For example, | ||
#: <pre>#!/usr/bin/python | #: <pre> | ||
#: #!/usr/bin/python | |||
#: "11" + 11</pre> | #: "11" + 11</pre> | ||
# Next, execute the modified file using python. For example, in terminal type: {{command|python /usr/share/doc/smolt-1.*/lite2my.py}} | # Next, execute the modified file using python. For example, in terminal type: {{command|python /usr/share/doc/smolt-1.*/lite2my.py}} | ||
# Revert the modified python file: {{command|su -c 'cp -a /tmp/lite2my.py /usr/share/doc/smolt-1.*/lite2my.py'}} | # Revert the modified python file: {{command|su -c 'cp -a /tmp/lite2my.py /usr/share/doc/smolt-1.*/lite2my.py'}} | ||
|results= | |results= | ||
# | # A python traceback should be generated at the command line: | ||
#: <pre> | |||
#: Traceback (most recent call last): | |||
#: File "/usr/share/doc/smolt-1.4.2.2/lite2my.py", line 2, in <module> | |||
#: print "11" + 11 | |||
#: TypeError: cannot concatenate 'str' and 'int' objects</pre> | |||
# ABRT should catch the traceback, and if you inspect the report via {{command|abrt-gui}}, the trace in report window should be the same as in the terminal where you executed the command | # ABRT should catch the traceback, and if you inspect the report via {{command|abrt-gui}}, the trace in report window should be the same as in the terminal where you executed the command | ||
# The ABRT plugin should not cause any unintended behaviour in python scripts when installed | # The ABRT plugin should not cause any unintended behaviour in python scripts when installed | ||
}} | }} | ||
[[Category:ABRT_Test_Cases]] | [[Category:ABRT_Test_Cases]] |
Revision as of 23:34, 1 April 2010
Description
This test case tests the functionality of the ABRT Python exception handler.
How to test
- Ensure the package is installed:
su -c 'yum install abrt-addon-python'
- Confirm in
/etc/abrt/plugins/Python.conf
that the Python addon is enabled. The conf file should contain this line: Enabled = Yes - Next, ensure that
/etc/abrt/abrt.conf
has at least one reporter defined for the Python addon. For example, Python = Logger, Mailx - Restart ABRT with the command
su -c 'service abrtd restart'
- Find a python
.py
file which is part of an official Fedora package. For example,/usr/share/doc/smolt-1.*/lite2my.py
which is provided by thesmolt
package. First, save a back-up of the file:su -c 'cp -a /usr/share/doc/smolt-1.*/lite2my.py /tmp/'
- Now, edit the file
/usr/share/doc/smolt-1.*/lite2my.py
to contain some invalid Python code. For example,- #!/usr/bin/python
- "11" + 11
- Next, execute the modified file using python. For example, in terminal type:
python /usr/share/doc/smolt-1.*/lite2my.py
- Revert the modified python file:
su -c 'cp -a /tmp/lite2my.py /usr/share/doc/smolt-1.*/lite2my.py'
Expected Results
- A python traceback should be generated at the command line:
- Traceback (most recent call last):
- File "/usr/share/doc/smolt-1.4.2.2/lite2my.py", line 2, in <module>
- print "11" + 11
- TypeError: cannot concatenate 'str' and 'int' objects
- ABRT should catch the traceback, and if you inspect the report via
abrt-gui
, the trace in report window should be the same as in the terminal where you executed the command - The ABRT plugin should not cause any unintended behaviour in python scripts when installed