From 002cb00aa5c79468c2f40f53dcff5e9f529e9ccd Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 28 Jul 2020 04:06:41 -0700 Subject: [PATCH] Pin platform versions used in integration tests This prevents spurious test breakage caused by platform releases. These tests are about the behavior of Arduino CLI itself, not about testing the platform, so the platform should be static. There are certain tests which make sense to do with the latest release of the platforms, and those have been left as is. --- test/test_compile.py | 28 +++++++++++++++------------- test/test_core.py | 2 +- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/test/test_compile.py b/test/test_compile.py index b2bef620faf..341779b383a 100644 --- a/test/test_compile.py +++ b/test/test_compile.py @@ -26,8 +26,8 @@ def test_compile_without_fqbn(run_command): result = run_command("core update-index") assert result.ok - # Download latest AVR - result = run_command("core install arduino:avr") + # Install Arduino AVR Boards + result = run_command("core install arduino:avr@1.8.3") assert result.ok # Build sketch without FQBN @@ -92,8 +92,8 @@ def test_output_flag_default_path(run_command, data_dir, working_dir): result = run_command("core update-index") assert result.ok - # Download latest AVR - result = run_command("core install arduino:avr") + # Install Arduino AVR Boards + result = run_command("core install arduino:avr@1.8.3") assert result.ok # Create a test sketch @@ -114,8 +114,8 @@ def test_compile_with_sketch_with_symlink_selfloop(run_command, data_dir): result = run_command("core update-index") assert result.ok - # Download latest AVR - result = run_command("core install arduino:avr") + # Install Arduino AVR Boards + result = run_command("core install arduino:avr@1.8.3") assert result.ok sketch_name = "CompileIntegrationTestSymlinkSelfLoop" @@ -168,8 +168,8 @@ def test_compile_and_upload_combo(run_command, data_dir, detected_boards): assert result.ok # Install required core(s) - result = run_command("core install arduino:avr") - result = run_command("core install arduino:samd") + result = run_command("core install arduino:avr@1.8.3") + result = run_command("core install arduino:samd@1.8.7") assert result.ok # Create a test sketch @@ -228,8 +228,8 @@ def test_compile_blacklisted_sketchname(run_command, data_dir): result = run_command("core update-index") assert result.ok - # Download latest AVR - result = run_command("core install arduino:avr") + # Install Arduino AVR Boards + result = run_command("core install arduino:avr@1.8.3") assert result.ok sketch_name = "RCS" @@ -251,11 +251,13 @@ def test_compile_without_precompiled_libraries(run_command, data_dir): url = "https://adafruit.github.io/arduino-board-index/package_adafruit_index.json" result = run_command("core update-index --additional-urls={}".format(url)) assert result.ok - result = run_command("core install arduino:mbed --additional-urls={}".format(url)) + # arduino:mbed 1.1.5 is incompatible with the Arduino_TensorFlowLite library + # see: https://github.com/arduino/ArduinoCore-nRF528x-mbedos/issues/93 + result = run_command("core install arduino:mbed@1.1.4 --additional-urls={}".format(url)) assert result.ok - result = run_command("core install arduino:samd --additional-urls={}".format(url)) + result = run_command("core install arduino:samd@1.8.7 --additional-urls={}".format(url)) assert result.ok - result = run_command("core install adafruit:samd --additional-urls={}".format(url)) + result = run_command("core install adafruit:samd@1.6.0 --additional-urls={}".format(url)) assert result.ok # Install pre-release version of Arduino_TensorFlowLite (will be officially released diff --git a/test/test_core.py b/test/test_core.py index 0b69ec68872..e476df23883 100644 --- a/test/test_core.py +++ b/test/test_core.py @@ -107,7 +107,7 @@ def test_core_install_esp32(run_command, data_dir): url = "https://dl.espressif.com/dl/package_esp32_index.json" assert run_command("core update-index --additional-urls={}".format(url)) # install 3rd-party core - assert run_command("core install esp32:esp32 --additional-urls={}".format(url)) + assert run_command("core install esp32:esp32@1.0.4 --additional-urls={}".format(url)) # create a sketch and compile to double check the core was successfully installed sketch_path = os.path.join(data_dir, "test_core_install_esp32") assert run_command("sketch new {}".format(sketch_path))