Functional.Linaro
Description [edit section]
This test can be used to run tests from the Linaro test definition suite.
As of February, 2019, the test is a proof of concept and only tested with smoke tests. There are FIXTHIS lines to indicate what is left.
Resources [edit section]
Results [edit section]
Tags [edit section]
- first tag
Dependencies [edit section]
Status [edit section]
- Experimental
Notes [edit section]
Setup [edit section]
Here are some notes on setting up for this test:The test definitions only support running on a board via ssh without using a password. Therefore, you must provide an SSH_KEY for the board.
These instructions use the Fuego board 'bbb' as the board for this setup.
Enter the docker container [edit section]
- $ fuegosh
- (at this point, you will be root)
- $ su jenkins
SSH_KEY [edit section]
- If not done already, prepare ssh keys for your board
- $ ssh-keygen -t rsa
- (change the filename to include the board name (from id_rsa to bbb_id_rsa)
- the output should look something like this.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa): /var/lib/jenkins/.ssh/bbb_id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in bbb_id_rsa. Your public key has been saved in bbb_id_rsa.pub. The key fingerprint is: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx jenkins@timdesk The key's randomart image is: +---[RSA 2048]----+ |.(image omitted).| +-----------------+
- put the bbb_id_rsa.pub file on the board, in the .ssh directory of the account used for testing.
- this can be done using the tool 'ssh-copy-id', as follows:
- $ ssh-copy-id -i bbb_id_rsa.pub root@10.0.1.2 (use the correct login account and IP address)
- (this will prompt for the password for the root account)
- you can test this by using ssh, to check that it doesn't require a password
- $ ssh -i bbb_id_rsa root@10.0.1.2
- (you should be logged in without a request for a password)
- this can be done using the tool 'ssh-copy-id', as follows:
- install ssh key into the jenkins ssh config file
- (still inside the docker container, as user 'jenkins')
- vi ~/.ssh/config
- adjust or add a Host section
- put the Host line: Host 10.0.1.2 <- replace with your boards ip address ($IPADDR)
- put an indented line for the IdentityFile: IdentityFile ~/.ssh/bbb_id_rsa
- adjust or add a Host section
When done, the config should have a section that looks like this:
Host 10.0.1.2 IdentityFile ~/.ssh/bbb_id_rsa
Finally, add the SSH_KEY attribute to the board file. That is, in the file: fuego-ro/boards/bbb.board, add the line:
SSH_KEY=/var/lib/jenkins/.ssh/bbb_id_rsa
Here is a summary of those steps [edit section]
- $ fuegosh
- $ su jenkins
- $ cd /var/lib/jenkins/.ssh
- $ ssh-keygen -t rsa
- (in the prompts from ssh-keygen, change the filename to include the board name (from id_rsa to bbb_id_rsa)
- $ ssh-copy-id -i bbb_id_rsa.pub root@10.0.1.2 (use the correct login account and IP address)
- $ ssh -i bbb_id_rsa root@10.0.1.2 (test that no password is required)
- $ vi config
- (add Host and IdentityFile lines)
- $ ssh root@10.0.1.2 (test that no password is required)
- $ exit
- $ exit
- $ vi fuego-ro/bbb.board
- (add SSH_KEY line (possibly comment out PASSWORD))
- $ ftc run-test -b bbb -t fuego_board_check (test that Fuego has access to board for testing)
Jenkins job setup [edit section]
Now, add a job for Functional.linaro to Jenkins- $ftc add-job -b bbb -t Functional.linaro
- (this should create the job: bbb.default.Functional.linaro)
Execute the job [edit section]
- execute the job from jenkins, by finding the job in the Jenkins interface, and clicking on 'Build
- expected results
- table with each test case and the results (PASS/FAIL/SKIP)
- run.json
- csv
- expected results