Skip to content

Refactor the test suite using pytest for array and matrix types #438

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 30 commits into from
Dec 30, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
5e16344
reorganize travis matrix, extend conftest.py
bnavigator Dec 29, 2020
c220a98
pytestify bdalg_test
bnavigator Dec 29, 2020
90a0059
pytestify canonical_test
bnavigator Jul 26, 2020
79b5bfe
pytestify config_test
bnavigator Dec 29, 2020
74d563c
pytestify convert_test.py
bnavigator Jul 24, 2020
c7cc828
pytestify ctrlutil_test
bnavigator Jul 24, 2020
d899140
pytestify delay_test.py
bnavigator Jul 24, 2020
53520e9
pytestify discrete_test
bnavigator Aug 19, 2020
659aa2d
pytestify flatsys_test
bnavigator Dec 29, 2020
1da4c5c
pytestify frd_test
bnavigator Jul 24, 2020
96f0911
pytestify freqresp_test.py
bnavigator Dec 29, 2020
caed712
pytestify input_element_int_test
bnavigator Jul 26, 2020
55a6119
pytestify iosys_test
bnavigator Dec 29, 2020
521e927
pytestify lti_test.py
bnavigator Jul 26, 2020
2c31029
pytestify mateqn_test
bnavigator Dec 29, 2020
fc2f770
pytestify matlab tests
bnavigator Jul 26, 2020
5880473
pytestify minreal_test
bnavigator Jul 26, 2020
97eedaf
pytestify modelsimp
bnavigator Dec 29, 2020
3eb0a92
pytestify nichols_test
bnavigator Jul 26, 2020
000998f
pytestify phaseplot_test
bnavigator Jul 28, 2020
3177796
pytestify rlocus_test.py
bnavigator Jul 28, 2020
f745bd2
pytestify robust tests
bnavigator Dec 29, 2020
2ee0773
pytestify sisotool_test.py
bnavigator Dec 29, 2020
e660363
pytestify slycot_convert_test.py
bnavigator Jul 28, 2020
952c511
pytestify statefbk tests
bnavigator Dec 29, 2020
6386832
pytestify statesp tests
bnavigator Dec 29, 2020
1dd2525
pytestify timeresp_test.py
bnavigator Dec 29, 2020
29883e8
pytestify xferfcn_input_test.py
bnavigator Jul 31, 2020
ca9476f
pytestify xferfcn tests
bnavigator Dec 29, 2020
2b98769
make tests work with pre #431 source code state
bnavigator Dec 29, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 17 additions & 51 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,72 +13,38 @@ cache:
- $HOME/.local

python:
- "3.9"
- "3.8"
- "3.7"
Comment on lines +17 to 18
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To minimize CI resource usage, would it make sense to just check against the earliest supported Python 3 release and the latest stable Python 3 release? So 3.6 and 3.9, with the idea that if it works in those two then 3.7, and 3.8 are probably OK as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely. AFAIK we do not make use of any of the changed Python stdlib changes like importlib-metadata, -resources, -dataclasses or the like.

We will need to revisit the test strategy matrix when moving from travis-ci.org to travis-ci.com or Github Actions. (#446)

- "3.6"
- "2.7"

# Test against multiple version of SciPy, with and without slycot
#
# Because there were significant changes in SciPy between v0 and v1, we
# test against both of these using the Travis CI environment capability
#
# We also want to test with and without slycot
env:
- SCIPY=scipy SLYCOT=conda # default, with slycot via conda
- SCIPY=scipy SLYCOT= # default, w/out slycot
- SCIPY="scipy==0.19.1" SLYCOT= # legacy support, w/out slycot

# Add optional builds that test against latest version of slycot, python
jobs:
include:
- name: "linux, Python 2.7, slycot=source"
os: linux
dist: xenial
services: xvfb
python: "2.7"
env: SCIPY=scipy SLYCOT=source
- name: "linux, Python 3.7, slycot=source"
os: linux
dist: xenial
services: xvfb
python: "3.7"
env: SCIPY=scipy SLYCOT=source
- name: "linux, Python 3.8, slycot=source"
os: linux
dist: xenial
services: xvfb
- name: "Python 3.8, slycot=source"
python: "3.8"
env: SCIPY=scipy SLYCOT=source
- name: "use numpy matrix"
dist: xenial
services: xvfb
python: "3.8"
env: SCIPY=scipy SLYCOT=source PYTHON_CONTROL_STATESPACE_ARRAY=1

# Exclude combinations that are very unlikely (and don't work)
exclude:
- python: "3.7" # python3.7 should use latest scipy
- name: "Python 3.9, slycot=source, array and matrix"
python: "3.9"
env: SCIPY=scipy SLYCOT=source PYTHON_CONTROL_ARRAY_AND_MATRIX=1
# Because there were significant changes in SciPy between v0 and v1, we
# also test against the latest v0 (without Slycot) for old pythons.
# newer pythons should always use newer SciPy.
- name: "Python 2.7, Scipy 0.19.1"
python: "2.7"
env: SCIPY="scipy==0.19.1" SLYCOT=
- name: "Python 3.6, Scipy 0.19.1"
python: "3.6"
env: SCIPY="scipy==0.19.1" SLYCOT=

allow_failures:
- name: "linux, Python 2.7, slycot=source"
os: linux
dist: xenial
services: xvfb
python: "2.7"
env: SCIPY=scipy SLYCOT=source
- name: "linux, Python 3.7, slycot=source"
os: linux
dist: xenial
services: xvfb
python: "3.7"
env: SCIPY=scipy SLYCOT=source
- name: "linux, Python 3.8, slycot=source"
os: linux
dist: xenial
services: xvfb
python: "3.8"
env: SCIPY=scipy SLYCOT=source
- env: SCIPY=scipy SLYCOT=source
- env: SCIPY=scipy SLYCOT=source PYTHON_CONTROL_ARRAY_AND_MATRIX=1


# install required system libraries
before_install:
Expand Down
Loading