From Fedora Project Wiki

Line 2: Line 2:
 
|description= This test case is designed to confirm that ''abrt'' can properly detect and diagnose application crashes from C/C++ programs.
 
|description= This test case is designed to confirm that ''abrt'' can properly detect and diagnose application crashes from C/C++ programs.
 
|actions=
 
|actions=
# Inspect {{filename|/etc/abrt/abrt.conf}} and ensure that ''abrt'' is configured to detect C program crashes.  A sample configuration will include the ''CCpp'' plugin, as seen below: <pre>EnabledPlugins = CCpp</pre>
+
# In {{filename|/etc/abrt/abrt.conf}}, ensure a reporting mechanism is configured for the ''CCpp'' plugin.  A sample configuration that uses the ''Logger'' reporting plugin is noted below <pre>CCpp = Logger</pre>
# Also in {{filename|/etc/abrt/abrt.conf}}, ensure a reporting mechanism is configured for the ''CCpp'' plugin.  A sample configuration that uses the ''Logger'' reporting plugin is noted below <pre>CCpp = Logger</pre>
+
# Restart the ''abrtd'' service <pre>service abrtd restart</pre>
# Restart the ''abrt'' service <pre>service abrtd restart</pre>
 
 
# Choose a C or C++ application to crash.  For this example, we will use the {{command|sleep}} command which is provided by {{package|coreutils}}.
 
# Choose a C or C++ application to crash.  For this example, we will use the {{command|sleep}} command which is provided by {{package|coreutils}}.
 
# Run the application you wish to capture a crash.  If using the {{command|sleep}} command, open a terminal and run the command: <pre>sleep 5m</pre>
 
# Run the application you wish to capture a crash.  If using the {{command|sleep}} command, open a terminal and run the command: <pre>sleep 5m</pre>
 
# In another terminal, force an application crash by locating the process id, and using the {{command|kill}} command.  For example, <pre>pkill -SIGSEGV sleep</pre>
 
# In another terminal, force an application crash by locating the process id, and using the {{command|kill}} command.  For example, <pre>pkill -SIGSEGV sleep</pre>
# Open {{command|abrt-gui}} by clicking the desktop notification icon and generate a crash report.
+
# A desktop notification should appear in notification area.
 +
# Open {{command|abrt-gui}} by clicking on it.
 +
# Pick the chras from the list, generate a crash report using "Report" button on the toolbar.
 
|results=
 
|results=
 
# The {{command|abrt}} application detects the failure by updating the desktop icon
 
# The {{command|abrt}} application detects the failure by updating the desktop icon

Revision as of 15:18, 31 March 2010

Description

This test case is designed to confirm that abrt can properly detect and diagnose application crashes from C/C++ programs.


How to test

  1. In /etc/abrt/abrt.conf, ensure a reporting mechanism is configured for the CCpp plugin. A sample configuration that uses the Logger reporting plugin is noted below
    CCpp = Logger
  2. Restart the abrtd service
    service abrtd restart
  3. Choose a C or C++ application to crash. For this example, we will use the sleep command which is provided by Package-x-generic-16.pngcoreutils.
  4. Run the application you wish to capture a crash. If using the sleep command, open a terminal and run the command:
    sleep 5m
  5. In another terminal, force an application crash by locating the process id, and using the kill command. For example,
    pkill -SIGSEGV sleep
  6. A desktop notification should appear in notification area.
  7. Open abrt-gui by clicking on it.
  8. Pick the chras from the list, generate a crash report using "Report" button on the toolbar.

Expected Results

  1. The abrt application detects the failure by updating the desktop icon
  2. Clicking the icon, or running the command abrt-gui displays the recently failed application
  3. Selecting the application from abrt-gui and reporting the failure generates a proper backtrace. (FIXME ... perhaps a link to what a good backtrace is)