From Fedora Project Wiki

m (wrong file name (os_release -> package))
(clean ups)
Line 1: Line 1:
{{QA/Test_Case
{{QA/Test_Case
|description=This test case tests [[Features/RetraceServer|Retrace Server]]'s command line interface.
|description=This test case tests the [[Features/RetraceServer|Retrace Server]]'s command line interface.
|setup=
# Make sure you have ABRT crashes caught by CCpp (crashes in C and C++ applications) that need retrace (i.e. you haven't already retrieved the necessary debuginfo packages and generated the full backtrace) available. If you do not have any, run a C or C++ application and crash it using {{command|kill -SIGSEGV (pid)}} or {{command|pkill -SIGSEGV (processname)}}
# The crash reports will be under {{filename|/var/spool/abrt}}; you can identify them by the date and time
|actions=
|actions=
You need ABRT crashes (whole directories) that need retrace - caught by CCpp.
# Run {{command|abrt-retrace-client create -d /path/ABRT_crash_directory}}
# Run {{command|abrt-retrace-client create -d /path/ABRT_crash_directory}}
# Run {{command|abrt-retrace-client create -k -d /path/ABRT_crash_directory}}, the {{command|-k}} option disables HTTPS certificate check.
# Run {{command|abrt-retrace-client create -k -d /path/ABRT_crash_directory}}, the {{command|-k}} option disables HTTPS certificate check
# Run {{command|abrt-retrace-client status -k -t task_id -p task_password}} with task_id and task_password obtained from {{command|create}} action.
# Run {{command|abrt-retrace-client status -k -t task_id -p task_password}} with task_id and task_password obtained from {{command|create}} action
# Run {{command|abrt-retrace-client status -k -t task_id -p task_password}} with a wrong combination of task_id and task_password.
# Run {{command|abrt-retrace-client status -k -t task_id -p task_password}} with a wrong combination of task_id and task_password
# Run {{command|abrt-retrace-client log -k -t task_id -p task_password}} while the job is still {{command|PENDING}}.
# Run {{command|abrt-retrace-client log -k -t task_id -p task_password}} while the job is still {{command|PENDING}}
# Run {{command|abrt-retrace-client log -k -t task_id -p task_password}} after the job is finished (by success or failure).
# Run {{command|abrt-retrace-client log -k -t task_id -p task_password}} after the job is finished (by success or failure)
# Run {{command|abrt-retrace-client backtrace -k -t task_id -p task_password}} after the job is finished successfully.
# Run {{command|abrt-retrace-client backtrace -k -t task_id -p task_password}} after the job is finished successfully
# Run {{command|abrt-retrace-client backtrace -k -t task_id -p task_password}} after the job is finished by failure.
# Run {{command|abrt-retrace-client backtrace -k -t task_id -p task_password}} after the job is finished by failure
# Run {{command|abrt-retrace-client batch -k -d /path/ABRT_crash_directory}}.
# Run {{command|abrt-retrace-client batch -k -d /path/ABRT_crash_directory}}
# Run {{command|abrt-retrace-client create -d /path/ABRT_crash_directory}}, replacing coredump, executable or package file by some random content.
# Run {{command|abrt-retrace-client create -d /path/ABRT_crash_directory}}, replacing coredump, executable or package file by some random content
# Run {{command|abrt-retrace-client create -d /path/ABRT_crash_directory --url URL}}, with URL different to {{command|retrace01.fedoraproject.org}}.
# Run {{command|abrt-retrace-client create -d /path/ABRT_crash_directory --url URL}}, with URL different to {{command|retrace01.fedoraproject.org}}
 
|results=
|results=
# The command should fail because of untrusted HTTPS certificate.
{{admon/note|In order|The expected results match the commands - the first expected result is for the first command, the second is for the second command, and so on}}
# The job should be started, task_id and task_password returned on stdout.
# The process should fail because of untrusted HTTPS certificate
# One of the values {{command|PENDING}}, {{command|FINISHED_SUCCESS}}, {{command|FINISHED_FAILURE}} should be returned on stdout.
# The job should be started, task_id and task_password returned on stdout
# HTTP {{command|404 Not Found}} or {{command|403 Forbidden}} error code should be returned depending on whether task with task_id exists or not. Should be the same with {{command|log}} and {{command|backtrace}} actions.
# One of the values {{command|PENDING}}, {{command|FINISHED_SUCCESS}}, {{command|FINISHED_FAILURE}} should be returned on stdout
# HTTP {{command|404 Not Found}} error code should be returned. Should be the same with {{command|backtrace}} action.
# HTTP {{command|404 Not Found}} or {{command|403 Forbidden}} error code should be returned depending on whether task with task_id exists or not. Should be the same with {{command|log}} and {{command|backtrace}} actions
# Plaintext log should be returned on stdout.
# HTTP {{command|404 Not Found}} error code should be returned. Should be the same with {{command|backtrace}} action
# Plaintext backtrace should be returned on stdout.
# Plaintext log should be returned on stdout
# HTTP {{command|404 Not Found}} error code should be returned.
# Plaintext backtrace should be returned on stdout
# All actions should happen at once - create, periodically ask for status, download log / backtrace depending on whether the result was successful or not.
# HTTP {{command|404 Not Found}} error code should be returned
# The task should finish by failure.
# All actions should happen at once - create, periodically ask for status, download log / backtrace depending on whether the result was successful or not
# The upload should fail.
# The task should finish by failure
# The upload should fail
}}
}}
[[Category:Package_abrt_test_cases]]
[[Category:Package_abrt_test_cases]]

Revision as of 18:52, 29 March 2011

Description

This test case tests the Retrace Server's command line interface.

Setup

  1. Make sure you have ABRT crashes caught by CCpp (crashes in C and C++ applications) that need retrace (i.e. you haven't already retrieved the necessary debuginfo packages and generated the full backtrace) available. If you do not have any, run a C or C++ application and crash it using kill -SIGSEGV (pid) or pkill -SIGSEGV (processname)
  2. The crash reports will be under /var/spool/abrt; you can identify them by the date and time

How to test

  1. Run abrt-retrace-client create -d /path/ABRT_crash_directory
  2. Run abrt-retrace-client create -k -d /path/ABRT_crash_directory, the -k option disables HTTPS certificate check
  3. Run abrt-retrace-client status -k -t task_id -p task_password with task_id and task_password obtained from create action
  4. Run abrt-retrace-client status -k -t task_id -p task_password with a wrong combination of task_id and task_password
  5. Run abrt-retrace-client log -k -t task_id -p task_password while the job is still PENDING
  6. Run abrt-retrace-client log -k -t task_id -p task_password after the job is finished (by success or failure)
  7. Run abrt-retrace-client backtrace -k -t task_id -p task_password after the job is finished successfully
  8. Run abrt-retrace-client backtrace -k -t task_id -p task_password after the job is finished by failure
  9. Run abrt-retrace-client batch -k -d /path/ABRT_crash_directory
  10. Run abrt-retrace-client create -d /path/ABRT_crash_directory, replacing coredump, executable or package file by some random content
  11. Run abrt-retrace-client create -d /path/ABRT_crash_directory --url URL, with URL different to retrace01.fedoraproject.org

Expected Results

Note.png
In order
The expected results match the commands - the first expected result is for the first command, the second is for the second command, and so on
  1. The process should fail because of untrusted HTTPS certificate
  2. The job should be started, task_id and task_password returned on stdout
  3. One of the values PENDING, FINISHED_SUCCESS, FINISHED_FAILURE should be returned on stdout
  4. HTTP 404 Not Found or 403 Forbidden error code should be returned depending on whether task with task_id exists or not. Should be the same with log and backtrace actions
  5. HTTP 404 Not Found error code should be returned. Should be the same with backtrace action
  6. Plaintext log should be returned on stdout
  7. Plaintext backtrace should be returned on stdout
  8. HTTP 404 Not Found error code should be returned
  9. All actions should happen at once - create, periodically ask for status, download log / backtrace depending on whether the result was successful or not
  10. The task should finish by failure
  11. The upload should fail