This allows querying the build system if there are test available.
Before, one should rely on 'info-debug-variable-TESTS' to print the list
of test files. But was not reliable as sometime the build system printed
messages anyway.
BOARD=esp32-wroom-32 make --silent --no-print-directory \
-C examples/hello-world/ info-debug-variable-TESTS
ESP32_SDK_DIR should be defined as /path/to/esp-idf directory
ESP32_SDK_DIR is set by default to /opt/esp/esp-idf
# empty line here
Now the return code can be trusted.
This commit adds a README.md to the testing folder.
It explains the basic about how to run a test with testrunner.
It adds a reference so it will be displayed on the doxygen docs.
There currently is not obvious documentation for running tests.
If the memory is exhausted during the allocation of the new `head` structure, subsequent accesses to `head` will result in dereferencing of a NULL pointer.
Update the test as sem_timedwait is not supposed to return before the
given abstime.
Source: http://pubs.opengroup.org/onlinepubs/9699919799.2016edition/functions/sem_timedwait.html
The timeout shall expire when the absolute time specified by abstime
passes, as measured by the clock on which timeouts are based (that is,
when the value of that clock equals or exceeds abstime), or if the
absolute time specified by abstime has already been passed at the time
of the call.
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`.
Added arduino-nano to BOARD_INSUFFICIENT_MEMORY/BOARD_BLACKLIST following suit
of how arduino-uno is marked, as arduino-nano is mostly an Uno in a different
form factor.
Test motor_driver API by making 2 motors turn clockwise and
counter-clockwise alternatively.
Speed varies from 0 to max PWM duty cycle.
Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
FLASHFILE is now a generated file when doing `make all`.
This prepares also for when flashers will use `FLASHFILE` as a file to
be flashed.
It currently still needs the hack below for openocd and edbg.
This also fixes the issue when building 'riotboot' in docker that was
being built with the host toolchain.
Even if using `%f` the `printf_float` module was not used.
When running the test on `samr21-xpro` and `arduino-mega2560` the float
is not printed correctly.
* samr21-xpro ` false positive rate.`
* arduino-mega2560 `? false positive rate.`
As the arduino-mega2560 does not handle printf_float use
`fmt/print_float`.
The output should be flushed before using fmt/print functions if
available as they do not use `printf` buffer.
When running the test on `arduino-mega2560` printing the float failed
and was printed as ` ?`.
Calculated ? bits of entropy from 10000 samples.
Replace using `printf` floating point printing by using `fmt/print_float`.
Now the test succeeds on `arduino-mega2560`.
As `print_float` does not buffer and is used with `printf` the output
should be flushed before calling it if `fflush` is available.
cpp check is reporting the following error
error (shiftTooManyBitsSigned):
Shifting signed 32-bit value by 31 bits is undefined behaviour
Fix by ensuring the `1` is an `uint32_t` before shifting.