diff --git a/.travis.yml b/.travis.yml index e9a7df7..9cef638 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,7 +85,6 @@ - doxygen doxyfile_options 2>&1 # Once Mbed OS has been fixed, enable the full test by replacing the top line with this: # - ( ! doxygen doxyfile_options 2>&1 | grep . ) - # Assert that all binary libraries are named correctly # The strange command below asserts that there are exactly 0 libraries # that do not start with lib @@ -106,12 +105,20 @@ install: # Install dependencies - sudo apt-get install gcc-arm-embedded - - pip install -r requirements.txt - - pip install pytest pylint hypothesis==3.88.3 mock coverage coveralls - # Print versions we use - - arm-none-eabi-gcc --version + # Add additional dependencies specific for testing - python --version + - |- + tr -d ' ' >> requirements.txt <<< " + mock==2.0.0 + pytest==3.3.0 + pylint>=1.9,<2 + hypothesis>=3,<4 + coverage>=4.5,<5 + coveralls>=1.5,<2 + " + # ... and install. + - pip install -r requirements.txt - pip list --verbose script: # Run local testing on tools diff --git a/requirements.txt b/requirements.txt index e7f6071..9f54fa6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,17 @@ colorama==0.3.9 -pyserial>=3,<=3.4 +urllib3[secure]==1.23 prettytable==0.7.2 -Jinja2>=2.7.3,<=2.10 -intelhex>=1.3,<=2.2.1 junit-xml==1.8 pyyaml==4.2b1 -urllib3[secure]==1.23 +jsonschema==2.6.0 +future==0.16.0 +six==1.11.0 +mbed-cloud-sdk==2.0.1 requests>=2.20,<2.21 +idna>=2,<2.8 +pyserial>=3,<=3.4 +Jinja2>=2.7.3,<=2.10 +intelhex>=1.3,<=2.2.1 intervaltree>=2,<3 mbed-ls>=1.5.1,<1.7 mbed-host-tests>=1.1.2,<=1.5 @@ -14,10 +19,6 @@ beautifulsoup4>=4,<=4.6.3 fuzzywuzzy>=0.11,<=0.17 pyelftools>=0.24,<=0.25 -jsonschema==2.6.0 -future==0.16.0 -six==1.11.0 git+https://github.com/armmbed/manifest-tool.git@v1.4.6 -mbed-cloud-sdk==2.0.1 pyocd>=0.14,<0.15 icetea>=1.0.2,<1.1 diff --git a/tools/test/toolchains/api_test.py b/tools/test/toolchains/api_test.py index b1a19c3..f48ea1d 100644 --- a/tools/test/toolchains/api_test.py +++ b/tools/test/toolchains/api_test.py @@ -4,7 +4,7 @@ from string import printable from copy import deepcopy from mock import MagicMock, patch -from hypothesis import given, settings +from hypothesis import given, settings, HealthCheck from hypothesis.strategies import text, lists, fixed_dictionaries, booleans ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", @@ -112,6 +112,7 @@ 'asm': lists(text()), 'ld': lists(text())}), lists(text(min_size=1, alphabet=ALPHABET), min_size=1)) +@settings(suppress_health_check=[HealthCheck.too_slow]) def test_toolchain_profile_c(profile, source_file): """Test that the appropriate profile parameters are passed to the C compiler""" @@ -144,6 +145,7 @@ 'asm': lists(text()), 'ld': lists(text())}), lists(text(min_size=1, alphabet=ALPHABET), min_size=1)) +@settings(suppress_health_check=[HealthCheck.too_slow]) def test_toolchain_profile_cpp(profile, source_file): """Test that the appropriate profile parameters are passed to the C++ compiler""" @@ -175,6 +177,7 @@ 'asm': lists(text()), 'ld': lists(text())}), lists(text(min_size=1, alphabet=ALPHABET), min_size=1)) +@settings(suppress_health_check=[HealthCheck.too_slow]) def test_toolchain_profile_asm(profile, source_file): """Test that the appropriate profile parameters are passed to the Assembler""" @@ -213,6 +216,7 @@ 'asm': lists(text()), 'ld': lists(text(min_size=1))}), lists(text(min_size=1, alphabet=ALPHABET), min_size=1)) +@settings(suppress_health_check=[HealthCheck.too_slow]) def test_toolchain_profile_ld(profile, source_file): """Test that the appropriate profile parameters are passed to the Linker"""