All of lore.kernel.org
 help / color / mirror / Atom feed
* [Fuego] [PATCH 00/16] Fuego Release Test
@ 2018-03-29  0:08 Guilherme Campos Camargo
  2018-03-29  0:08 ` [Fuego] [PATCH 01/16] Add fuego-release Functional test Guilherme Campos Camargo
                   ` (16 more replies)
  0 siblings, 17 replies; 40+ messages in thread
From: Guilherme Campos Camargo @ 2018-03-29  0:08 UTC (permalink / raw)
  To: fuego

Hello, everyone

This series of patches contains the initial implementation of the Fuego
Release Test (Functional.fuegotest). This test has been created to allow
Fuego to test any version of Fuego, given its git repository and branch.

The test clones the repositories of fuego and fuego-core that are
configured on the test specs.json, installs fuego and runs that version
of fuego as the docker container fuego-release-container.

The test uses Pexpect, to execute/verify commands in the
fuego-release-container shell, and uses SeleniumHQ to interact with the
Jenkins web interface, checking if the web interface responds as
expected.

A few wrappers have been implemented on top of Pexpect and SeleniumHQ in
order to facilitate the inclusion of new tests.

The default specs.json is currently configured to clone and test fuego
and fuego-core from the master branch of the official repository. What
can be changed through the specs.json file.

# Running

Currently this test requires a modified version of Fuego to be executed,
given that it needs to install some dependencies and needs to map the
dockerd socket from the host to the fuego container.

The modified version can be found in two different branches on
Profusion's fuego fork.

 1 - Branch fuego-test: Just a few commits that are necessary for making
 this test work, applied on top of fuego/next. We plan to try to
 integrate these commits into fuego/next in the next few days.

 2 - Branch fuego-base-image: A more complex change on fuego, that makes
 the necessary changes for allowing it to be shipped as a docker image
 through dockerhub.

The steps for each one of the versions above are given below:

## Building the image (from the branch fuego-test)

To run the test, execute the following commands:

```
git clone --branch fuego-test https://bitbucket.org/profusionmobi/fuego-core.git
git clone --branch fuego-test https://bitbucket.org/profusionmobi/fuego.git
cd fuego
./install fuego-to-test-fuego
./fuego-host-scripts/docker-create-container.sh fuego-to-test-fuego fuego-to-test-fuego-container
./fuego-host-scripts/docker-start-container.sh fuego-to-test-fuego-container
```

Then, add the fuego-test board and the Functional.fuegotest and start
the test through Jenkins (localhost:8080/fuego/)

```
ftc add-nodes fuego-test
ftc add-jobs -b fuego-test -t Functional.fuegotest
```

## Using the modified Fuego Base Image from Dockerhub
(fuego-base-image):

You can also use the fuego base image that's being developed in
Profusion's fuego-base-image branch in our fork:
https://bitbucket.org/profusionmobi/fuego/branch/fuego-base-image

The image is already available on dockerhub and can be
downloaded/executed with:

```
docker pull fuegotest/fuego
docker run -it \
  -p 8080:8080 \
  -v $(pwd)/host_fuego_home:/var/fuego_home \
  -e JENKINS_UID=$(id -u) \
  -e JENKINS_GID=$(id -g) \
  -v /var/run/docker.sock:/var/run/docker.sock \
  fuegotest/fuego:latest
```

Wait for the shell to be available and add fuego-test board and
Functional.fuegotest as explained in the last section.

```
ftc add-nodes fuego-test
ftc add-jobs -b fuego-test -t Functional.fuegotest
```

Thanks

Guilherme Campos Camargo (16):
  Add fuego-release Functional test
  Mount fuego-rw/ro/core into the fuego-under-test container
  Increase wait_for_jenkins timeout from 10 to 60s
  Print fuego repo/branch information during test build
  Properly check install return code and abort in case of failure
  Allow the user to keep the container running after the test
  Add Back() Selenium Command
  Add ClickLink selenium command
  Include add-jobs, add-views and build-jobs tests
  Write ok/fail on test report
  Properly quit Selenium driver when SeleniumSession is deleted
  Minor style/PEP8 fixes
  Move Selenium implicitly_wait() to SeleniumSession start
  Use a fixed language for Selenium Chrome-WebDriver
  Improve Click and Check methods to allow multiple locators
  Add test that starts a job through the UI

 engine/tests/Functional.fuegotest/fuego_test.sh |  36 ++
 engine/tests/Functional.fuegotest/spec.json     |  11 +
 engine/tests/Functional.fuegotest/test_run.py   | 591 ++++++++++++++++++++++++
 3 files changed, 638 insertions(+)
 create mode 100755 engine/tests/Functional.fuegotest/fuego_test.sh
 create mode 100644 engine/tests/Functional.fuegotest/spec.json
 create mode 100755 engine/tests/Functional.fuegotest/test_run.py

-- 
2.16.2


^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2018-04-03 22:09 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-29  0:08 [Fuego] [PATCH 00/16] Fuego Release Test Guilherme Campos Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 01/16] Add fuego-release Functional test Guilherme Campos Camargo
2018-03-30 22:17   ` Tim.Bird
2018-03-30 22:37     ` Tim.Bird
2018-04-03  3:18       ` Guilherme Camargo
2018-04-03 20:03         ` Tim.Bird
2018-04-03  3:17     ` Guilherme Camargo
2018-04-03 20:22       ` Tim.Bird
2018-04-03 22:09         ` Guilherme Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 02/16] Mount fuego-rw/ro/core into the fuego-under-test container Guilherme Campos Camargo
2018-03-30 22:31   ` Tim.Bird
2018-04-03  3:18     ` Guilherme Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 03/16] Increase wait_for_jenkins timeout from 10 to 60s Guilherme Campos Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 04/16] Print fuego repo/branch information during test build Guilherme Campos Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 05/16] Properly check install return code and abort in case of failure Guilherme Campos Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 06/16] Allow the user to keep the container running after the test Guilherme Campos Camargo
2018-03-30 22:48   ` Tim.Bird
2018-04-03  3:20     ` Guilherme Camargo
2018-04-03 20:08       ` Tim.Bird
2018-03-29  0:08 ` [Fuego] [PATCH 07/16] Add Back() Selenium Command Guilherme Campos Camargo
2018-03-30 22:52   ` Tim.Bird
2018-04-03  3:21     ` Guilherme Camargo
2018-04-03 20:09       ` Tim.Bird
2018-03-29  0:08 ` [Fuego] [PATCH 08/16] Add ClickLink selenium command Guilherme Campos Camargo
2018-03-30 22:53   ` Tim.Bird
2018-04-03  3:21     ` Guilherme Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 09/16] Include add-jobs, add-views and build-jobs tests Guilherme Campos Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 10/16] Write ok/fail on test report Guilherme Campos Camargo
2018-03-30 22:58   ` Tim.Bird
2018-04-03  3:21     ` Guilherme Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 11/16] Properly quit Selenium driver when SeleniumSession is deleted Guilherme Campos Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 12/16] Minor style/PEP8 fixes Guilherme Campos Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 13/16] Move Selenium implicitly_wait() to SeleniumSession start Guilherme Campos Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 14/16] Use a fixed language for Selenium Chrome-WebDriver Guilherme Campos Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 15/16] Improve Click and Check methods to allow multiple locators Guilherme Campos Camargo
2018-03-30 23:03   ` Tim.Bird
2018-04-03  3:22     ` Guilherme Camargo
2018-03-29  0:08 ` [Fuego] [PATCH 16/16] Add test that starts a job through the UI Guilherme Campos Camargo
2018-03-30 21:34 ` [Fuego] [PATCH 00/16] Fuego Release Test Tim.Bird
2018-04-03  3:16   ` Guilherme Camargo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.