~canonical-platform-qa/snappy-ecosystem-tests/fixing_ci

« back to all changes in this revision

Viewing changes to README.rst

  • Committer: Heber Parrucci
  • Date: 2017-02-13 16:00:04 UTC
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: heber.parrucci@canonical.com-20170213160004-oe9fnfkd6foqllae
Changing runner for pytest to aviod the plugins issues in nose2 using testtools.
Making pylint more strict: fail with Warnings messages.
Refactoring global variables to use Singletons instead.
Updating README.rst with the new runner options

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
===============================================================
9
9
$ bzr branch lp:snappy-ecosystem-tests
10
10
$ cd snappy-ecosystem-tests/
11
 
$ ./run_system_tests
 
11
$ ./run_system_tests snappy_ecosystem_tests
12
12
 
13
13
It will create a virtual env with all the dependencies defined in requirements.txt and run all the tests
14
 
A nose2 runner is used: http://nose2.readthedocs.io/en/latest/
 
14
A pytest runner is used: http://docs.pytest.org/en/latest/
 
15
 
 
16
To run all tests in a python package:
 
17
$ ./run_system_tests snappy_ecosystem_tests/tests/example_package
 
18
 
 
19
To run all test in a python module:
 
20
$ ./run_system_tests snappy_ecosystem_tests/tests/example_package/example_module.py
 
21
 
 
22
To run all tests in a python class:
 
23
$ ./run_system_tests snappy_ecosystem_tests/tests/example_package/example_module.py::ExampleClass
 
24
 
 
25
To run a particular test in a python class:
 
26
$ ./run_system_tests snappy_ecosystem_tests/tests/example_package/example_module.py::ExampleClass::example_test
 
27
 
 
28
To run a tests that match with a expression:
 
29
./run_system_tests -k stringexpr
 
30
# only run tests with names that match the
 
31
# "string expression", e.g. "MyClass and not method"
 
32
# will select TestMyClass.test_something
 
33
# but not TestMyClass.test_method_simple
 
34
 
 
35
You can also specify the arguments as python packages separated by dots:
 
36
$ ./run_system_tests --pyargs tests.example_package.example_module
 
37
Notice that in this case you skip the root dir snappy_ecosystem_tests and for python modules skip the .py
 
38
 
 
39
To see all options refer to: http://doc.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests
15
40
 
16
41
Tests Results
17
42
=============
18
 
By default the tests results will be stored in 'ecosystem-tests-results.xml'
19
 
If you do not want to generate tests results you can disable the plugin in unittest.cfg
 
43
By default the tests results will be stored in 'snappy-ecosystem-results.xml'
20
44
 
21
45
Parameters
22
46
==========
23
47
If you are behind a proxy you can specify --proxy option
24
 
All nose2 parameters are allowed
 
48
All pytest parameters are allowed
25
49
 
26
50
Config files
27
51
============
28
 
You can find the following configurations files in 'config' folder:
29
 
unittest.cfg stores the nose2 configuration.
 
52
You can find configurations files in 'config' folder:
30
53
 
31
54
ecosystem_tests.cfg stores the snappy ecosystem related config like: APIs urls, Web urls, store to use, etc.
32
55
You can change this config file location by setting the env variable: XDG_CONFIG_HOME
33
56
 
 
57
pytest.cfg stores the config related to pytest
 
58
 
34
59
Changing store:
35
60
===============
36
61
You can change the store to use in config file ecosystem_tests.cfg
39
64
if none of them are provided it will take 'staging' as default.
40
65
 
41
66
 
42
 
Running code analysis with pylint
43
 
=================================
 
67
Running static code analysis and/or unittest
 
68
============================================
44
69
To run static code analysis you can execute from root directory:
45
 
$ ./run_pylint
46
 
If you are behind a proxy you can specify --proxy option
 
70
$ ./run_checks --static
47
71
It will store the results in pylint-results.txt
48
 
The config file with all the rules is pylint.cfg
 
72
The config file with pylint rules is pylint.cfg
 
73
 
 
74
If you want to run unittests:
 
75
$ ./run_checks --unit
 
76
 
 
77
If you want to run both:
 
78
$ ./run_checks --all
 
79
 
 
80
If you are behind a proxy you can specify --proxy option
 
81