Commands

(Change Ordering: Sort in alphabetical order)

1. PinDown Project Setup

1.1. Useful Commands for Setting Up PinDown Project

force_bug

Artifically introduce a bug in order to verify the debug flow during setup of a new PinDown project.

halt

Halt the execution.

set_verbosity

Sets PinDown log verbosity.

check_setup

Set when setup control should be done. Setup control makes PinDown retest known passes during debug to validate that the setup is correct.

1.2. Flow Control

if

Flow control that can read variables, date, time and status from shell scripts, and set the PinDown parameters accordingly.

read

Specify an additional pindown config file that should be read by PinDown.

set_variable

Set a variable in PinDown.

echo

Display a line of text or alternatively all variables set by PinDown

1.3. PinDown Database

set_results_database

Set up the connection to the PostgreSQL database, which PinDown uses to store test results data and bugs.

clear_results_database

Clear the results database

save_results_database

Save the entire content of the database, including test results, open bugs and closed bugs down to a file

save_bugs

Save bugs in the PinDown database down to a file

save_test_results

Save the test results stored in the database down to a file

update_results_database

Read test results from a file into the PinDown database.

report

Report the status of the test results database such as open bugs, closed bugs, a test results overview and a bug overview.

1.4. PinDown Licenses

license

Specify the license server or license file to be able to run PinDown.

set_debug_bandwidth

Specify how many parallel debug tests PinDown is allowed to run.

set_test_bandwidth

Alias for set_debug_bandwidth

1.5. PinDown TestHub Webserver

set_webinterface

Sets the url to PinDown TestHub.

set_test_log_file

Specify the test log that should open when you click on the "Test log"-button on the PinDown TestHub "Test" pane.

1.6. Paths

set_working_directory

Set the working directory where PinDown runs

set_test_checkoutarea

Specify the folder where PinDown should check out the files from the revision control system that are used in the test phase.

set_test_runarea

Specify the folder where tests are run during the test phase

set_test_testarea

Alias for set_test_runarea

set_diagnosis_checkoutarea

Specify the folder where PinDown should check out the files from the revision control system that are used in the debug phase.

set_diagnosis_runarea

Specify the folder where tests are run during the debug phase

set_diagnosis_testarea

Alias for set_diagnosis_runarea

set_difflink

Set the folder where the bad committed code that is shown in bug reports is checked out

1.7. Email

set_mail

Set up SMTP email settings.

set_mail_attachment

Specifies a pindown file that should be attached when sending out emails.

set_mail_filter

Set an external script that will be called to filter parts of an email before it gets sent.

set_bug_explanation

Add extra information to bug reports.

send_mail

Sends email. Either a manual email or a full report.

1.8. Revision Control Access

set_repository

Set up the connection to a revision control repository.

set_earliest_revision

This command specifies the earliest revision that PinDown should examine when debugging failures.

checkout_repositories

Check out the defined revisions from the revision control system as defined by the set_repository commands to the checkout areas defined by set_test_checkoutarea and set_diagnosis_checkoutarea.

keep_revision

Specify the path to a folder that should be kept at the latest revision during debug.

1.9. Launch Scripts That Run Tests and Wait for Completion

shell

Run a shell command or script

set_completion

Define a criterion for completion of test phase execution or a diagnosis phase execution.

set_timeout

Enable an optimal timeout of the test phase which is set to the time when x % of bugs have normally been detected, based on historical data.

wait

Wait for the test suites to complete

set_kill_tests

Defines a script that PinDown uses to kill tests when terminating test runs

set_kill_pindown

Define a script that the PinDown TestHub web server uses to kill the PinDown Debugger process

1.10. Reading Test and Build Results

extract

Extract test results into a file structured according to the pindown XML format.

group

Group together the extract and set_completion commands that defines how the test result is formatted and when the tests has completed.

set_error_context

Set the number of context lines around error messages.

set_extract_filenames

Enable extraction of file names.

set_extract_unknown

Instruct PinDown to debug tests with unknown results

read_results

Read the test results from a file specified in the PinDown XML file format.

1.11. Bucketization/Grouping of Failure Signatures

set_group_filter

Adds regular expressions used to filter error lines before grouping.

set_testmanager

Set the default test owner.

extract -testowner

Extract test results into a file structured according to the pindown XML format.

set_max_tests

Specify the number of tests that PinDown should debug per bug group

1.12. Debug

diagnose

Automatically debug test and build failures.

set_diagnosis_checkoutarea

Specify the folder where PinDown should check out the files from the revision control system that are used in the debug phase.

set_diagnosis_testarea

Alias for set_diagnosis_runarea

set_diagnosis_optimization

Set limits to the debug algorithm in order to increase performance

set_diagnosis_runarea

Specify the folder where tests are run during the debug phase

set_test_noresult

Specify whether tests that failed in a previous run, but did not produce any results in the last run, should be retested by PinDown in order to check the current status

limit_diagnosis

Specify a time limit for the debug phase

set_diagnose_multipletests

Allow several tests to be run on each revision during debug in order to improve performance

set_diagnosis_result_type

Specify whether PinDown should read all available test results or only the results of the debug tests it has actually requested.

set_diagnosis_file_scope

Specify whether you want PinDown to extract the debug test results into one XML file per test (default) or one XML file containing all results

2. Performance

set_diagnosis_optimization

Set limits to the debug algorithm in order to increase performance

set_max_tests

Specify the number of tests that PinDown should debug per bug group

set_earliest_revision

This command specifies the earliest revision that PinDown should examine when debugging failures.

set_error_response

Define how PinDown handles environemental problems such as intermediate failures, no results etc

set_debug_bandwidth

Specify how many parallel debug tests PinDown is allowed to run.

set_test_bandwidth

Alias for set_debug_bandwidth

set_testfilter

Sets a filter for testnames to make it possible to match test names that are similar.

set_diagnose_multipletests

Allow several tests to be run on each revision during debug in order to improve performance

3. Handling Intermittent Failures and No Results

set_error_response

Define how PinDown handles environemental problems such as intermediate failures, no results etc

repeat

Re-run the failing test in order to make sure it is not an intermittent issue

halt

Halt the execution.

set_result

Set a test or build result to something when a result is missing

set_test_noresult

Specify whether tests that failed in a previous run, but did not produce any results in the last run, should be retested by PinDown in order to check the current status

set_extract_unknown

Instruct PinDown to debug tests with unknown results

4. Updating the Revision Control System

4.1. Create Label/Baseline

create_label

Create a label in the revision control system, e.g. to mark a stable release

create_baseline

Alias for create_label

4.2. Automatic Bug Fix

set_commit_fix

Enables or disables automatic commit of a found bug.

5. Deleting Files

set_delete_limit

Specify how many old test runs that should be kept, either by specifying how many to keep or how long time an old test run should be kept.

delete

Delete individual files, checkouts or test areas.