icinga2/test/jenkins
Johannes Meyer 9d87ce571b Add configuration aware test runner
refs #5223
2013-12-16 15:37:37 +01:00
..
README Add configuration aware test runner 2013-12-16 15:37:37 +01:00
bootstrap-vm.sh Add test script for Jenkins. 2013-11-26 18:34:17 +01:00
run_tests.conf Add configuration aware test runner 2013-12-16 15:37:37 +01:00
run_tests.py Add configuration aware test runner 2013-12-16 15:37:37 +01:00
run_tests.sh Add configuration aware test runner 2013-12-16 15:37:37 +01:00
v1.test Add test script for Jenkins. 2013-11-26 18:34:17 +01:00

README

Set of scripts to set up and test a virtual demo machine
========================================================

This directory contains a few scripts primarily used by build.icinga.org.

* bootstrap-vm.sh
  Ensures that all required software is installed and its configuration
  is applied to the VM. (Usually not of interest for the typical user.)

* run_tests.sh
  This is a wrapper script intended to be ran manually by a user.

* run_tests.py
  The actual test-runner. Accepts one option (-C|--config) and expects
  one or more filenames or -patterns that should be run on the VM.

* run_tests.conf
  The default configuration file for the test-runner. (Used when running
  the wrapper script or when no custom configuration file is passed to the
  test-runner.)

  Format:
  - commands: This section is mandatory and contains the commands to use.
  - settings: This section is mandatory and defines settings that are applied to
              all tests.
  - setups: This section is optional and contains setup routines that should
            be ran before (setup) and after (teardown) any matching test is
            executed. (Note that only one setup can be effective at a time.)

            Example:
            "^v[1-9]\.test$": {
                "setup": {
                    "copy": ["source >> target"], // Files that should be copied.
                                                  // Note that these files remain
                                                  // if not removed explicitly
                    "clean": ["target"], // Files to delete from the system
                    "exec": ["cmd1", "cmd2"] // Commands to execute on the system
                },
                "teardown": {
                    // The same kind of instructions as above can be added here
                }
            }