FrontPage 

Fuego wiki

Login or create account

Adding test jobs to Jenkins in split format

Before performing any tests with Fuego, you first need to add Jenkins jobs for those tests in Jenkins.
Before performing any tests with Fuego, you first need to
add Jenkins jobs for those tests in Jenkins.
To add jobs to Jenkins, you use the 'ftc' command line tool.
To add jobs to Jenkins, you use the 'ftc' command line tool.
Fuego comes with over a hundred different tests, and not all of them will be useful for your environment or testing needs.
Fuego comes with over a hundred different tests, and not
all of them will be useful for your environment or testing needs.
In order to add jobs to Jenkins, you first need to have created a Jenkins node for the board for which you wish to add the test. If you have not already added a board definition, or added your board to Jenkins, please see: Adding a board
In order to add jobs to Jenkins, you first need to have
created a Jenkins node for the board for which you wish to add
the test.  If you have not already added a board definition,
or added your board to Jenkins, please see:
[[Adding a board]]
One your board is defined as a Jenkins node, you can add test jobs for it.
One your board is defined as a Jenkins node, you can add test
jobs for it.
There are two ways of adding test jobs, individually, and using testplans. In both cases, you use the 'ftc add-jobs' command.
There are two ways of adding test jobs, individually, and
using testplans.  In both cases, you use the 'ftc add-jobs'
command.

Selecting tests or plans [edit section]

= Selecting tests or plans =
The list of all tests that are available can be seen
by running the command 'ftc list-tests'.
Run this command inside the docker container, by going to the shell prompt inside the Fuego docker container, and typing
Run this command inside the docker container, by going to
the shell prompt inside the Fuego docker container, and typing
{{{#!YellowBox
(container_prompt)$ ftc list-tests
}}}
To see the list of plans that come pre-configured with Fuego, use the command 'ftc list-plans'.
To see the list of plans that come pre-configured with Fuego,
use the command 'ftc list-plans'.
{{{#!YellowBox
(container_prompt)$ ftc list-plans
}}}
A plan lists a set of tests to execute. You can examine the list of tests that a testplan includes, by examining the testplan file. The testplan files are in JSON format, and are in the directory fuego-core/engine/overlays/testplans.
A plan lists a set of tests to execute.  You can examine the
list of tests that a testplan includes, by examining the testplan
file.  The testplan files are in JSON format, and are in the
directory ``fuego-core/engine/overlays/testplans``.

Adding individual tests [edit section]

= Adding individual tests =
To add an individual test, add it using the 'ftc add-jobs'
command.  For example, to add the test "Functional.hello_world"
for the board "beaglebone", you would use the following command:
{{{#!YellowBox
(container prompt)$ ftc add-job -b beaglebone -t Functional.hello_world
}}}

Configuring job options [edit section]

== Configuring job options ==
When Fuego executes a test job, several options are available to control
aspects of job execution.  These can be configued on the 'ftc add-job'
command line.
The options available are: * timeout * rebuild flag * reboot flag * precleanup flag * postcleanup flag
The options available are:
 * timeout
 * rebuild flag
 * reboot flag
 * precleanup flag
 * postcleanup flag
See 'ftc add-jobs help' for details about these options and how to specify them.
See 'ftc add-jobs help' for details about these options and how to specify
them.

Adding tests for more than one board [edit section]

== Adding tests for more than one board ==
If you want to add tests for more than one board at a time, you can do
so by specifying multiple board names after the '-b' option with 'ftc add-jobs'.
Board names should be a single string argument, with individual board names
separated by commas.
For example, the following would add a job for Functional.hello_world to each of the boards rpi1, rpi2 and beaglebone. {{{#!YellowBox (container prompt)$ ftc add-job -b rpi1,rpi2,beaglebone -t Functional.hello_world }}}
For example, the following would add a job for Functional.hello_world to
each of the boards rpi1, rpi2 and beaglebone.
{{{#!YellowBox
(container prompt)$ ftc add-job -b rpi1,rpi2,beaglebone -t Functional.hello_world
}}}

Adding jobs based on testplans [edit section]

= Adding jobs based on testplans =
A testplan is a list of Fuego tests with some options for each one.
You can see the list of testplans in your
system with the following command:
{{{#!YellowBox
(container prompt)$ ftc list-plans
}}}
To create a set of jobs related to docker image testing, for the 'docker' board on the system, do the following:
To create a set of jobs related to docker image testing, for the 'docker' board
on the system, do the following:
{{{#!YellowBox
(container prompt)$ ftc add-jobs -b docker -p testplan_docker
}}}
To create a set of jobs for a board called 'beaglebone', do the following: {{{#!YellowBox (container prompt)$ ftc add-jobs -b myboard -p testplan_smoketest }}}
To create a set of jobs for a board called 'beaglebone', do the following:
{{{#!YellowBox
(container prompt)$ ftc add-jobs -b myboard -p testplan_smoketest
}}}
The "smoketest" testplan has about 20 tests that exercise a variety of features on a Linux system. After running these commands, a set of jobs will appear in the Jenkins interface.
The "smoketest" testplan has about 20 tests that exercise a variety of
features on a Linux system.  After running these commands, a set of jobs will
appear in the Jenkins interface.
Once this is done, your Jenkins interface should look something like this:
Once this is done, your Jenkins interface should look something like this:
[[image:fuego-1.1-jenkins-dashboard-beaglebone-jobs.png|width=900]]
TBWiki engine 1.8.3 by Tim Bird