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

796 Commits

Author SHA1 Message Date
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
Martine Lenders
4ee4625f39
Merge pull request #10357 from jcarrano/posix_headers-module
sys/posix: make posix module provide only headers.
2019-03-20 14:07:12 +01:00
Juan Carrano
6b766c3cd3 sys/posix: make posix module provide only headers.
The build system contains several instances of
 INCLUDES += -I$(RIOTBASE)/sys/posix/include

This is bypassing the module management system, by directly accesing
headers without depending on a module. The module is the posix module.

That line is also added when one of the posix_* modules is requested.

According to the docs, the posix module provides headers only, but in
reality there is also inet.c.

This patch:

- Moves `inet.c` into `posix_inet`, leaving `posix` as a headers-only
  module.
- Rename `posix` as `posix_headers` to make it clear the module only
  includes headers.
- Makes `posix_*` modules depend on `posix_headers`, thus removing the
  explicit `INCLUDES+=...` in `sys/Makefile.include`.
- Ocurrences of `INCLUDES+=...` are replaced by an explicit dependency
  on `posix_headers`.
2019-03-20 12:57:13 +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
999ef3bc53
Merge pull request #10952 from cladmi/pr/bug/testrunner/matching_local_echo
[BUG] testrunner matching local echo
2019-03-13 15:46:39 +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
da2f4747e8
Merge pull request #11079 from cladmi/pr/compile_and_test/bug/update_docstring
tools/compile_and_test_for_board: FIX outdated help docstring
2019-03-06 16:54:42 +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
731dcfc319
testrunner: disable local echo
When local echo is enabled, pexpect will also match on send lines to the
node. So could think a node is echoing when it is only seeing the sent
message.
The sent messages are still written to `logfile` but now only once.

This may show issues with our current tests implementation that expected
this behavior.
2019-03-04 13:26:53 +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
Martine Lenders
cfee6faf57
Merge pull request #10431 from miri64/dist/enh/testcase-testrunner-wrapper
dist/pythonlibs: provide unittest TestCase wrapper for testrunner
2019-02-26 19:55:24 +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
Martine Lenders
4b5b5d910b dist/pythonlibs: provide unittest TestCase wrapper for testrunner
I had this idea when implementing #10382 and #10392 as I introduced a
very similar structure to python's standard unittests in those and it
could also reduce some code duplication between those two tests.
2019-01-29 21:16:39 +01:00
Martine Lenders
b2407e4583 dist/pythonlibs: expose functions to setup/teardown pexpect spawn
This allows for re-usability of those functions in other contexts.
2019-01-29 20:41:49 +01:00
MrKevinWeiss
957cc83cc6 doc: Update copywrites it include HAW 2019-01-28 09:08:50 +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
a4ad366a81
Merge pull request #10818 from cladmi/pr/compile_and_test_board
dist/tools/compile_and_test_for_board: add compile and test script
2019-01-22 08:56:31 +01:00
cladmi
921afa0820
testrunner: fix script when RIOTBASE is not defined
If not defined it was raising a KeyError. Use the 'get' function to
handle non defined value.

It did not put the value in the `default` case as it would have changed
the behavior when `RIOTBASE` is defined but empty.
2019-01-21 12:19:34 +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
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
0cb75c5f10 testbed-support: add nrf51dk to supported archis 2018-12-12 15:36:56 +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
Martine Lenders
37a11e9802 dist/testbed-support: add firefly in IoT-LAB archis 2018-12-04 14:54:26 +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
Martine Lenders
2a2ef9bbdf
Merge pull request #10481 from aabadie/pr/tools/pyterm_exception
tools/pyterm: catch serial.Exception when serial port is busy
2018-11-27 17:59:26 +01:00
Gaëtan Harter
adbc214298
Merge pull request #10457 from aabadie/pr/testbed-support/iotlab-phynode
dist/testbed-support: add pba-d-01-kw2x in iotlab archis
2018-11-27 17:34:19 +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 I Carrano
d3e9eec8fe
Merge pull request #10060 from cladmi/pr/tests/build_system_checks
static_tests: add build system checks
2018-11-27 15:20:45 +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
a640957e31 dist/testbed-support: add pba-d-01-kw2x in iotlab archis 2018-11-22 16:38:33 +01:00
17c7ad89a9 dist/testbed-support: add frdm-kw41z in iotlab archis 2018-11-22 10:56:50 +01:00
99fa0e9cf8 dist/tools/tested-support: update samr30 archi mapping
The archi was changed in IoT-LAB: samr30:at86rf215 => samr30:at86rf212b
2018-11-20 21:39:12 +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
a3f2d20169 dist/testbed-support: add new iotlab archi
nrf52840dk and microbit
2018-10-28 18:57:17 +01:00
Gaëtan Harter
8179038a8c
makefile.iotlab.single.inc.mk: add new IoT-LAB supported nodes
Support for `nrf52dk` and `samr30-xpro` has been added on saclay site.
2018-10-24 15:43:59 +02:00
Gaëtan Harter
599bc2afd2
makefile.iotlab.single.inc.mk: sort IOTLAB_ARCH_ variables definition
Define them in alphabetical order instead on putting the 'iotlab'
specific nodes at first. Prepare for adding new architectures.
2018-10-24 15:12:00 +02:00
Kevin "Bear Puncher" Weiss
7187bbf8cf
Merge pull request #9426 from gschorcht/esp32
ESP32 port
2018-10-16 15:24:25 +02:00
Martine Lenders
a73c499b67
Merge pull request #10117 from miri64/tools/enh/pr-check-label-rename
tools/pr_check: adapt for label categorization
2018-10-12 20:17:57 +02:00
Kevin "Bear Puncher" Weiss
0719442ddc
Merge pull request #10072 from haukepetersen/fix_nrf52xxxdk_resetpin
boards/nrf52xxxdk: make reset pin work
2018-10-12 09:36:30 +02:00
Martine Lenders
6f8fd1d6df doccheck: exclude dist/tools directory from group check 2018-10-11 15:16:09 +02:00
Sebastian Meiling
239b3dfe86
Merge pull request #10132 from MrKevinWeiss/pr/adaptphil
dist/tests/if_lib: Update to riot_pal
2018-10-11 11:47:55 +02:00
Pekka Nikander
371134264a dist/tools/commit-msg/check.sh: Enhance reporting 2018-10-10 14:06:33 +03:00
MrKevinWeiss
5b83137fd1 dist/tests/if_lib: Update to riot_pal
This removes all non-application based driver/devices and replaces with riot_pal.
riot_pal (riot protocol abstraction layer) can be installed with pip install riot_pal.
The purpose is ti simplify and modularize the interfaces and tests.
All tests using the if_lib interface are updated too.
2018-10-09 21:21:17 +02:00
Schorcht
32e602680b cpu: add esp32 vendor files 2018-10-08 12:20:49 +02:00
Martine Lenders
055ec38fff tools/pr_check: adapt for label categorization
In [#10030][1] it was decided to rename all labels to reflect their
respective category. The labels "NEEDS SQUASHING" and "Waiting For Other
PR" are used in the `dist/tools/pr_check/pr_check.sh` script however, so
that script needs to be adapted.

[1]: https://github.com/RIOT-OS/RIOT/issues/10030
2018-10-05 19:07:32 +02:00
Francisco Acosta
cb8e78da13
Merge pull request #9916 from kYc0o/pr/tools/fix_kill_testrunner
dist/tools/jlink.sh: fix testrunner on stdio_rtt based devices
2018-10-04 17:31:58 +02:00
Hauke Petersen
0ca02de0a2 tools: add nrf52_resetpin_cfg tool
This new tool allows configuring the reset pin for nRF52-based
boards. As the reset pin configuration is persistent, it does not
make sense to include it into the board code...
2018-09-28 16:50:58 +02:00
Martine Lenders
442df8227b
Merge pull request #9839 from MrKevinWeiss/pr/doc/repoupdate
doc: Add deprecation warnings for new repos
2018-09-25 23:15:07 +02:00
Martine Lenders
5ac02f5134
Merge pull request #10010 from smlng/pr/fix/cppcheck-suppress
dist/cppcheck: fix missing cppcheck-suppression reasons
2018-09-25 13:52:28 +02:00
smlng
d7942cd974 dist/tools: fix tunslip6 strncat num param
Cppcheck was (correctly) warning here that concat to strings might
result in buffer overflow because the terminating `\0` was not considered.
This is fixed here, making the cppcheck suppression also obsolete.
2018-09-25 12:03:58 +02:00
smlng
3f811c44db cppcheck: extend cppcheck README example
Extend the cppcheck suppression example to show that each suppression
should have a reason describing the intentional suppression of a
cppcheck warning or error.
2018-09-25 12:03:58 +02:00
smlng
59e299635b cppcheck: add/correct reason for cppcheck-suppress
Adding and correcting description/rational on why certain cppcheck
warnings or errors are intentionally suppressed.
2018-09-25 12:03:58 +02:00
smlng
6d24033bd6 dist/tools: print OS and Kernel version
Add output to print_toolchain_version script to include info
on the operating system and its kernel version.
2018-09-25 09:22:42 +02:00
smlng
87505f0334 dist/tools: fix whitespace in print_toolchain_versions 2018-09-25 09:22:41 +02:00
smlng
c73ed667c1 dist/tools: print more tool versions
This adds openocd, python, python2, and python3 to the helper
script print_toolchain_versions.sh.
2018-09-25 09:22:41 +02:00
smlng
424830b06b dist/tools: parse version info from stderr
Currently version information of commands and tools is only parsed
from STDOUT, however some tools like openocd print version info
to STDERR only. This commits adds parsing of STDERR for version
infos if STDOUT does not contain such info.
2018-09-25 09:22:41 +02:00
Leandro Lanzieri
31fa4fd64d dist/tools: Add stm32loader flash utility 2018-09-18 18:07:42 +02:00
Francisco Acosta
89fa4da4c3 dist/tools/jlink: remove duplicated check 2018-09-11 17:29:12 +02:00
Francisco Acosta
ad87b2875e dist/tools/jlink: remove setsid for launching JLinkExe for term
When executing `make test` on devices using JLink, testrunner
launches `make term` which calls `jlink.sh term_rtt`. When finished
the father process is killed but `setsid` has launched JLinkExe
as another subprocess, which is not killed by `os.killpg` from
testrunner since it doesn't belong to the same group.
2018-09-11 00:46:18 +02:00
Francisco Acosta
dfd349a05b dist/tools/jlink: send output to /dev/null
While running `make term` JLinkExe is expecting commands and thus
can be disturbed by other JLink commands, e.g. `make reset`.
This enable `make test` (which runs those two commands at the same
time) on target using JLinkExe as a programmer/debugger.
2018-09-11 00:46:18 +02:00
0c1a207bf9
Merge pull request #9867 from kaspar030/pr/unify_app_folder_search
make: unify app folder search (examples/*, tests/*, ...)
2018-09-06 09:30:12 +02:00
de55265835 dist/tools/compile_test: make use of makefiles/app_dirs.inc.mk 2018-09-05 12:03:09 +02:00
Schorcht
e528fb8e2d cpu: add esp8266 vendor files 2018-09-05 02:39:50 +02:00
cladmi
bc7e53f3d4
openocd.sh: include base address in IMAGE_OFFSET for binfiles
Add the rom base address to the flash address when flashing binaries.
This allows flashing binaries with the default openocd configuration.

It is an API change to IMAGE_OFFSET with binary files as it should now
only be an offset to the base address.

Force openocd type to '.bin' in case we want to flash hex/elf objects or
files not automatically recognized as bin.
2018-09-04 13:53:38 +02:00
cladmi
36b51467dd
openocd.sh: add functions to access board flash address
This allows getting the ROM base address.

It may not be available in the build system directly so better extract it from
openocd. Also openocd is board specific and this address is cpu specific
so would have definition order issue in the build system.
2018-09-04 13:50:46 +02:00
cladmi
5748d6a75f
openocd.sh: add a _is_binfile function
Returns 0 if it is true.

The test is based on the file extension, but also use the IMAGE_TYPE variable
to force setting to binary.
2018-09-04 13:49:45 +02:00
cladmi
60aac4a75b
openocd.sh: fix verify_image with IMAGE_OFFSET
When flashing with an IMAGE_OFFSET, it should also be passed to
verify_image. It is handling the base address in the image too.

This works with both elf files and binaries with the base address added.
2018-09-04 13:48:16 +02:00
cladmi
09f0930f59
openocd.sh: add a debug message when flashing with an offset 2018-09-04 13:48:12 +02:00
cladmi
5bb9babfe0
openocd.sh: update to bash
Update to bash to have `local` variables and `=~` regex matching.
Will be used in upcoming commits.
2018-09-04 13:46:25 +02:00
75dba75fbb dist/tools/pyterm: handle ctrl+d nicely 2018-09-03 17:34:23 +02:00
a5714cc7c7 dist/tools/compile_test: fix flake8 issues 2018-08-31 08:50:52 +02:00