1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

725 Commits

Author SHA1 Message Date
Sebastian Meiling
950b83e63e
Merge pull request #10252 from jcarrano/flake8-report-existence
tools/ci: correcly report flake8 version.
2019-08-14 11:11:50 +02:00
Martine Lenders
2f8234acb1
Merge pull request #11813 from aabadie/pr/tools/doccheck_detect_duplicate_defgroup
tools/doccheck: extend script to also check for Doxygen groups defined multiple times
2019-08-08 19:57:27 +02:00
Kees Bakker
c1d3128be3 dist/tools: add Coccinelle check for ARRAYSIZE
This Coccinelle script will warn when new code has the potential to use
the macro ARRAYSIZE instead of something like this
     sizeof(some_array) / sizeof(some_array[0])
2019-08-07 21:55:41 +02:00
5837075150
tools/doccheck: optimize display of undefined groups
The printed variable is not computed if no undefined group is found
2019-08-07 10:33:03 +02:00
1876619bf9
tools/doccheck: add check for multiple group definition 2019-08-07 10:33:03 +02:00
Gaëtan Harter
25890c814a
compile_and_test_for_board: add --with-test-only
Add an option to only compile applications that have available test.

The target usage is when running hardware tests to save time by only
compiling what will be tested.
2019-08-02 14:35:05 +02:00
Gaëtan Harter
821c42f5b2
compile_and_test_for_board: add logger info for 'has_test'
Add a logger info printing if the application has a test.
2019-08-02 13:24:52 +02:00
Gaëtan Harter
5ed65989ed
dist/jlink.sh: Allow overwriting the 'reset' commands
Add a variable to configure the reset commands.
This is required for board that need a hardware reset.
2019-07-17 15:29:51 +02:00
21e796d6f9
Merge pull request #11841 from kaspar030/bump_git_cache
dist/tools/git/git-cache: bump version
2019-07-17 13:21:59 +02:00
b33a196e78 dist/tools/git/git-cache: bump version
Upstream contains important fixes:

- improve tag handling
- improve concurrent use
- clean up temporary tags
2019-07-17 12:04:37 +02:00
f74e5e754a dist/tools/ethos: add setup_network.sh script 2019-07-15 12:33:11 +02:00
Juan I Carrano
6349d91277
Merge pull request #11695 from cladmi/pr/buildsystem_sanity_check/bug/never_returns_error
dist/tools/build_system_sanity_check: BUG fix errors being ignored
2019-06-26 11:58:11 +02:00
f1ffa10c7e dist/tools/ethos: adapt README.md to USEMODULE+=stdio_ethos 2019-06-24 09:56:30 +02:00
a66c7cf6e7
tools/nrf52_resetpin_cfg: add stdin dependency 2019-06-20 16:01:45 +02:00
Gaëtan Harter
e4b82be564
dist/tools/build_system_sanity_check: BUG error_on_input always fail
The function was always failing but was hidden by the previous bug too.
2019-06-14 12:24:31 +02:00
Gaëtan Harter
7d65a715ca
dist/tools/build_system_sanity_check: deprecate FEATURES_MCU_GROUP
Add a function to list deprecated variables or patterns and use it for
* FEATURES_MCU_GROUP
2019-06-14 11:34:00 +02:00
Gaëtan Harter
b744ba7f9e
dist/tools/build_system_sanity_check: BUG fix errors being ignored
On error messages the exit code was still 0 due to the typo.
Having error messages again properly return with an exit code of 1.
2019-06-14 10:58:28 +02:00
be1551c180 Revert "REMOVE ME TEST COMMIT"
This reverts commit c7b16bb4b4.
2019-06-14 10:04:33 +02:00
Gaëtan Harter
c7b16bb4b4
REMOVE ME TEST COMMIT 2019-06-13 16:04:04 +02:00
Gaëtan Harter
f37a586183
dist/tools/build_system_sanity_check: add reasons for each error type
Prepend the reason for the matched error pattern.
It will only add the reason if there is an error.
2019-06-13 16:04:04 +02:00
Gaëtan Harter
534ccaf5ee
dist/tools/build_system_sanity_check: handle error by prepending
Handle putting the final error message by prepending the output.
This removes issue with errors being concatenated and gives an
interractive output.

The errors are now send to stderr.
2019-06-13 16:03:51 +02:00
Gaëtan Harter
ef24df7ac0
dist/tools/build_system_sanity_check: add script helper functions
Add helper functions to better handle output and errors.
2019-06-13 16:01:45 +02:00
Leandro Lanzieri
4f3bc12daa dist/tools/edbg: Escape variable values 2019-06-06 14:45:35 +02:00
Juan Carrano
7f1357b721 tools/usb-serial: do not advise people to export PORT.
The example in the tool documentation contains several things that are
wrong:

- exports PORT.
- Defines the port using :=.
- Defines PORT instead of PORT_LINUX, PORT_DARWIN
- ifeq-based logic (which will force an evaluation).

I have not tested the new example script.
2019-06-03 16:31:31 +02:00
Gaëtan Harter
6c529458f1
dist/tools/buildsystem_sanity_check/: check no PORT_ exports
Add sanity check for removed exports.
2019-06-03 16:24:48 +02:00
06013cf443
tools/buildsystem_sanity_check: blacklist PROGRAMMER_SERIAL variable 2019-06-03 10:32:09 +02:00
4b4b5106c9
tools/buildsystem_sanity_check: blacklist new variables
DEBUG_ADAPTER, DEBUG_ADAPTER_ID, STLINK_VERSION are now blacklisted from exported variables
2019-06-03 10:32:08 +02:00
Leandro Lanzieri
79c095ef46 tools/jlink: Exit terminal on Ctrl+C 2019-05-29 09:18:52 +02:00
Leandro Lanzieri
07131b4e4d tools/jlink: Wait for server before pyterm 2019-05-29 09:16:05 +02:00
Gaëtan Harter
d486598fdf
dist/tools/buildsystem_sanity_check: check no PREFLASH* exports
Add sanity check for removed exports.
2019-05-28 09:58:40 +02:00
Gaëtan Harter
ea51cf3174
dist/tools/buildsystem_sanity_check: check no DEBUG* exports
Add sanity check for removed exports.
2019-05-28 09:58:40 +02:00
Gaëtan Harter
734410b9cd
dist/tools/buildsystem_sanity_check: check no RESET/RESET_FLAGS exports
Add sanity check for removed exports.
2019-05-28 09:56:14 +02:00
Gaëtan Harter
95c07c507c
dist/tools/buildsystem_sanity_check: check no FLASHER/FFLAGS exports
Add sanity check for removed exports.
2019-05-28 09:56:14 +02:00
Gaëtan Harter
04e76f323d
dist/tools/buildsystem_sanity_check: handle vars exported in vars.inc.mk
Handle differently variables that are exported in `vars.inc.mk` from the
ones that should not.

This is needed for the upcoming variables change that should also be
removed from `vars.inc.mk` right now.

Keeping the old behavior will help migrating other variables more easily
by keeping them only exported in vars.inc.mk in the first time.
2019-05-28 09:53:40 +02:00
Martine Lenders
0f3ccb2a33
Merge pull request #11227 from maribu/leonardo
boards: Add support for the Arduino-Leonardo
2019-05-24 18:24:21 +02:00
3d6434125e
dist/tools/ci: update print version script in build_and_test.sh 2019-05-24 17:14:06 +02:00
Thomas Perrot
b63121c588
board: add support for arduino-leonardo 2019-05-24 15:12:47 +02:00
Francisco
00c652c8b0
Merge pull request #11223 from cladmi/pr/openocd/flashbin/probe
tools/openocd.sh: try to probe the board for real flash address
2019-05-17 10:28:58 -07:00
Gaëtan Harter
468e4084f2
tools/openocd.sh: probe the board for real flash address on binary flash
Some boards have a configuration of the flash bank with an address of 0
when it actually starts as 0x08000000 but openocd relies on probing
the hardware at runtime.

This now allows to first probe the board to get the actual value.
If probing fail for any reason, return the value from the configuration.
This can happen when the board is unreachable so at least give a valid
output instead of an error.

This will allow correct flash detection on for example the `stm32f3` and
`stm32l4` which have a configured address of 0.

4a6f93c961/tcl/target/stm32f3x.cfg (L64)
4a6f93c961/tcl/target/stm32l4x.cfg (L51)
2019-05-17 18:28:27 +02:00
9363a515a5 tools/pr_check: make sure no pkg makefile defines PKG_SOURCE_LOCAL
The variable is supposed to be used for local development only.
2019-05-16 11:31:32 +02:00
Gaëtan Harter
5bb49b673c
Merge pull request #11517 from cladmi/pr/compile_and_test_for_board/do_not_check_git
tools/compile_and_test_for_board: ignore git tracked or not
2019-05-13 19:43:02 +02:00
Gaëtan Harter
89e5c67f28
tools/compile_and_test_for_board: ignore git tracked or not
Remove the check that directory are git tracked or not.
This should not be done by the script and was a mistake.

If need be to be checked it should be moved to RIOT 'info-applications'
and running tests should be done in a clean environment anyway.
2019-05-13 16:38:41 +02:00
Gaëtan Harter
16f07e571e
tools/compile_and_test_for_board: assert resultdir is valid
Currently giving an absolute or outside of RIOT application breaks the
result directory evaluation which can lead to deleting the application.

Add an assertion to detect it.
2019-05-13 15:47:44 +02:00
Gaëtan Harter
db3847f107
tools/compile_and_test_for_board: add is_in_directory function
Add function testing if a path is inside a directory.
2019-05-13 15:38:27 +02:00
Gaëtan Harter
42b3cd5903
dist/tools/buildsystem_sanity_check: add an export variable check
Check that some variables are not exported in the build system.
This should track variables that managed to not be exported anymore so
that they do not reappear in a BSP.

It is not a whitelist but just a way to keep things cleaned in the
future.
2019-05-06 13:36:46 +02:00
Martine Lenders
bb7936cf21 release-stats: simplify script usage 2019-04-30 16:06:59 +02:00
Martine Lenders
11da5e8e67
Merge pull request #11435 from miri64/dist/fix/backport-tracking
backport_pr: set tracking branch to remotely created branch
2019-04-24 16:37:08 +02:00
Martine Lenders
aef6110b40 backport_pr: set tracking branch to remotely created branch 2019-04-24 15:53:54 +02:00
Martine Lenders
22640396a5 backport_pr: get Head object from new_branch name after creation 2019-04-24 15:52:55 +02:00
Martine Lenders
e3a99c40f6 backport_pr: exclude 'Reviewed' labels from backport 2019-04-24 11:52:54 +02:00
Martine Lenders
292c5dd730 backport_pr: add doc tests for _get_labels() 2019-04-24 11:47:22 +02:00
Gaëtan Harter
a0ef287f82
Merge pull request #11409 from miri64/dist/enh/backport_pr_fixes
dist/tools/backport_pr: several improvements
2019-04-18 14:55:03 +02:00
Semjon Kerner
f72cb846da dist/tools/nrf52_resetpin: delete obsolete register 2019-04-17 15:32:48 +02:00
Martine Lenders
1930368fd5 backport_pr: exit early when backport branch already exists 2019-04-17 12:44:21 +02:00
Martine Lenders
a7459e7463 backport_pr: don't assume devel remote to be 'origin' 2019-04-17 12:42:02 +02:00
Martine Lenders
989e2c6303 backport_pr: add function to find remote by URL 2019-04-17 12:35:14 +02:00
Martine Lenders
a9767889fc backport_pr: make error branch handling more idempotent
Otherwise, when an error occurs (e.g. credentials wrong on git push)
the worktree and the release branch still exists, which might be hard to
remove for a newcomer not knowing about `git worktree`.
2019-04-17 12:11:53 +02:00
Sebastian Meiling
70c30947d0 tools/tunslip: correct typos and refine readme 2019-04-09 17:31:08 +02:00
Martine Lenders
b381c0b24d
Merge pull request #11303 from cladmi/pr/jlink/failonerror
jlink.sh: Exit with an error on failure for JLinkExe commands
2019-03-28 14:48:51 +01:00
Gaëtan Harter
a354b10964
jlink.sh: Exit with an error on failure for JLinkExe commands
On error Jlink exits with a no error code by default.

From the JLink User Guide:

'-ExitOnError' has the same meaning as the 'exitonerror' command

    'exitonerror' command
    This command toggles whether J-Link Commander exits on error or not.

    1: J-Link Commander will now exit on Error.
    0: J-Link Commander will no longer exit on Error.

Executing 'flash/reset' without a board connected now correctly returns an
error. For 'term' it does not show an error due to the way it is handled
internally.

It also returns an error when the board fails to do an operation when it
is in a state where it cannot be flashed for example.
2019-03-28 11:26:24 +01:00
Gaëtan Harter
87a1d08602
compile_and_test_for_board: use 'test/available' to detect test
Use the new 'test/available' target to detect if there are tests.
This prevents issues where calling make would print unrelated debug
messages that would be taken as an output.

The targets executed to check if there are tests can be set with
'--test-available-targets'.
2019-03-26 14:12:25 +01:00
e2a162b79d
tools/pyocd: add option for image offset 2019-03-24 16:48:45 +01:00
danpetry
80d4838b1a jlink: handle flashing at IMAGE_OFFSET
- Handling of flashing address is now similar to that in openocd,
  except FLASH_ADDR is not automatically determined
2019-03-20 16:07:51 +01:00
Dylan Laduranty
c99c0f61ab
Merge pull request #11156 from jcarrano/update-edbg
tools/edbg: Update to latest version.
2019-03-19 21:36:28 +01:00
Juan I Carrano
b50ad9ed4c
Merge pull request #11040 from kaspar030/fix_hifive1_reset
boards/hifive1: fix hifive1 reset
2019-03-12 14:59:36 +01:00
3583b00750 dist/tools/openocd: make "reset run" command configurable
Co-Authored-By: jcarrano <juan@carrano.com.ar>
2019-03-12 11:49:02 +01:00
Juan Carrano
872f850e87 tools/edbg: Update to latest version.
The lastest version of edbg solves a double-reset issue that was
hindering testing (see #11125 and https://github.com/ataradov/edbg/issues/77)

It also adds support for SAMR34 and SAMR35, needed by @dylad for MCU
port.
2019-03-11 15:51:32 +01:00
Gaëtan Harter
a1d47cae21
tests/compile_and_test_for_board: remove duplicate 'default' in help
Default values are given by ArgumentDefaultsHelpFormatter so no need to
duplicate 'default' value in manually anymore.
2019-03-06 14:47:45 +01:00
Gaëtan Harter
8c15d97629
tools/compile_and_test_for_board: add tests for help message
Verify that the help message matches what is in the docstring.
2019-02-28 13:45:40 +01:00
Gaëtan Harter
998211d738
tools/compile_and_test_for_board: add tests directory
Tests in `tests` will be used by 'tox'.
2019-02-28 13:45:40 +01:00
Gaëtan Harter
94aeb5a223
tools/compile_and_test_for_board: FIX outdated help docstring
Update the help message in the docstring.
It should reflect the content of `--help`.

I replaced the manual line wrapping by disabling the warning on the
docstring.
2019-02-28 13:45:40 +01:00
Gaëtan Harter
9af491d2f6
tools/backport_pr: add tox.ini
Adapt tox file from `compile_and_test_for_board.py`.

`tox` is still not working without errors but gives way to start
refactoring.
2019-02-12 15:34:15 +01:00
493cac27f3
dist/tools: Add script for backporting PR's
This script provides functionality to easily backport a merged pull request to
a release branch.

It relies of having a `github` API token stored in `~/.riotgithubtoken` by
default.

The script works by fetching information from the supplied **merged** pull
request. It then looks for the last release branch.
A temporary git `worktree` with a new branch is created based on this release
branch. All commits from the pull request are then cherry-picked into this
branch which is then pushed to `origin`.
It then creates a new pull request on `github` with a reference to the original
pull request. It optionally puts a comment under the original pull request to
the new backport pull request.

Co-authored-by: Gaëtan Harter <gaetan.harter@fu-berlin.de>
2019-02-12 15:34:12 +01:00
Gaëtan Harter
f89bf055b4
pyterm: use python3 by default
Python3 has been the default in our scripts for some time now, but pyterm still
requested python which uses python2 on ubuntu stable.

This pushes toward only needing to install `python3` python
dependencies.
2019-02-11 17:09:13 +01:00
613e05fd42
tools/compile_test_one_board: update documentation README
Provide some notes on how to perform basic checks on the script using tox
2019-01-23 18:23:05 +01:00
148f715689
tools/compile_test_one_board: add tox.ini configuration file
tox.ini configures 3 checks on the python script: doctest (via pytest), pylint and flake8
2019-01-23 18:23:04 +01:00
26a64694dd
tools/compile_test_one_board: rename TestError exception class
Otherwise it conflicts with pytest automatic parsing which tries to execute all classes with name beginning with Test
2019-01-23 16:25:31 +01:00
Gaëtan Harter
204a4bae7f
dist/tools/compile_and_test_for_board: add some TODO
The script was migrated as is from Release-Specs but could benefit from
adaptation as it is run from RIOT.
2019-01-18 16:08:55 +01:00
Gaëtan Harter
ae76d7f364
dist/tools/compile_and_test_for_board: add compile and test script
Move the compile and test script from Release-Specs.
https://github.com/RIOT-OS/Release-Specs/blob/271dc8/02-tests/compile_and_test_for_board.py

By default it should be run as

    ./compile_and_test_for_board.py path_to_riot_directory board_name [results]

The script is migrated as-is so has not been changed to automatically use the
current repository.
2019-01-18 16:08:31 +01:00
Juan Carrano
2209435214 tools/ci: correcly report flake8 version.
If the flake8 executable is not found, the static test script reports
the tool as missing. It may happen that the flake8 module is installed,
but the console entry point is not.

In the flake8 shell script, flake is invoked via `python -m`. The result
is a confusing error message where static-test reports the tools as missing,
yet the flake8 tests are run.

This patch makes the toolchain version script use the same command as the
flake8 script.
2019-01-15 20:10:29 +01:00
Juan Carrano
9926ac1ffa ci/print_toolchain_versions: robust/portable version detection.
Detect command line tool versions without using "command".
Command may be a builting in some shells, leading to unportability.

The new version uses the status code to correctly detect a non-existent
command. This allows it to differentiate between error in the tool and
not-found errors.

It also works with compound commands, for example `python -m callable_module".
2019-01-15 20:02:01 +01:00
Martine Lenders
4887b22ef5 print_toolchain_versions.sh: add xtensa newlibs 2018-12-29 15:26:36 +01:00
Martine Lenders
745574266c print_toolchain_versions.sh: add xtensa toolchains 2018-12-29 14:28:08 +01:00
Martine Lenders
7bdbd163c9 print_toolchain_versions.sh: make lists easily diff-able 2018-12-29 14:27:35 +01:00
f5170bb82c dist/tools/pyocd: provide support for PyOCD programmer 2018-12-21 14:56:26 +01:00
Francisco Acosta
a638f31bce dist/tools: add genhdr tool to generate RIOT image headers
In order to use the RIOT bootloader (riotboot) a header needs to
be created and placed before the firmware. This tool generates
such a header with the expected information by the bootloader.

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2018-12-18 19:31:34 +01:00
Dylan Laduranty
f01bc4dc1d dist/tools/edbg: update to lastest version
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2018-12-07 10:49:38 +01:00
Gaëtan Harter
a0b97ad737
openocd: get flash and debug files from cli
Get FLASH_FILE and ELFFILE from command line instead of environment variable.

The documentation was claiming ELFFILE was given as a command line argument
already, but is was not.
2018-12-05 16:21:03 +01:00
963d06c7de
Merge pull request #10528 from cladmi/pr/make/jlink/flashfile_from_cli
jlink: get flash and debug files from cli
2018-12-03 13:44:39 +01:00
Juan I Carrano
f4e810cfff
Merge pull request #9819 from jcarrano/doccheck-report-total-failure
tools/doccheck: Detect when `make doc` fails to run.
2018-11-29 18:37:15 +01:00
98413e43af tools/pyterm: catch serial.Exception when port is busy
This can happen when opening a terminal right after flashing a board that has just been plugged
2018-11-27 17:30:45 +01:00
cladmi
5fcc1210d9
jlink: get flash and debug files from cli
Get BINFILE and ELFFILE from command line instead of environment variable.

Rename 'HEXFILE' to 'BINFILE' in the script as the binary file is used.
The documentation was already talking about 'BINFILE' but 'BINFILE'
was never exported by the build system and it was using 'HEXFILE' in the
implementation.
2018-11-27 15:28:49 +01:00
Juan Carrano
ae4cecd14c tools/doccheck: Detect when make doc fails to run.
The previous doccheck would give a false negative when doxygen does
not even run (for example, because of misconfiguration).

Also, when doxygen fails to run, print the full output.
2018-11-22 16:51:07 +01:00
cladmi
bcf0342cbd
static-test: add buildsystem sanity check 2018-11-19 16:00:46 +01:00
cladmi
143e393fcd
dist/tools: add build system sanity check script
Add a script to execute sanity checks on build system files.
It should prevent bad patterns to re-appear after being cleaned.

Currently adds a check for using the content of `FEATURES` instead of
`USEMODULE`.

Modules should not check the content of FEATURES_PROVIDED/_REQUIRED/OPTIONAL
Handling specific behaviors/dependencies should by checking the content of:
 * `USEMODULE`
 * maybe `FEATURES_USED` if it is not a module (== not a periph_)
2018-11-16 16:40:23 +01:00
Joakim Nohlgård
3deea7dfbf print_toolchain_versions.sh: Add make command version 2018-11-12 14:06:29 +01:00
cladmi
a7779e24c5
openocd.sh: handle 'newline' on osx
https://stackoverflow.com/a/24276470

    In replacement strings used with the s command, assume that NO
    control-character escape sequences are supported (ex '\n')

Replace with an escaped newline character. Current form works in 'bash'.
2018-10-30 19:44:37 +01:00
cladmi
6f02568c84
openocd.sh: split 'sed' commands on different lines
https://stackoverflow.com/a/24276470

    Labels and branching commands (e.g., b) must be followed by an actual
    newline or continuation via a separate -e option.
2018-10-30 19:44:37 +01:00
cladmi
291a80c664
openocd.sh: refactor splitting banks in a separate function
Prepare for other refactoring.
2018-10-30 19:44:37 +01:00
Kevin "Bear Puncher" Weiss
7187bbf8cf
Merge pull request #9426 from gschorcht/esp32
ESP32 port
2018-10-16 15:24:25 +02:00