tests/build_system_utils: add test for build system utilities

This will allow testing the build system 'utils' functions.
This commit is contained in:
Gaëtan Harter 2018-12-05 20:03:02 +01:00 committed by Juan Carrano
parent f466171053
commit 9d252a883e
3 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,33 @@
BOARD_WHITELIST = native
include ../Makefile.tests_common
include $(RIOTBASE)/Makefile.include
# Test utils commands
define command_should_fail
$1 2>/dev/null && { echo "Command '$1' should have failed but did not" >&2; $1; exit 1; } || true
endef
define command_should_succeed
$1 || { echo "Command '$1' failed" >&2; $1; exit 1; }
endef
MAKEFILES_UTILS = $(RIOTMAKE)/utils
TESTS = test-ensure_value test-ensure_value-negative
# Tests will be run both in the host machine and in `docker`
all: build-system-utils-tests
build-system-utils-tests: $(TESTS)
.PHONY: build-system-utils-tests $(TESTS)
# tests for 'ensure_value'
test-ensure_value:
$(Q)$(call command_should_succeed,"$(MAKE)" -C $(MAKEFILES_UTILS) -f test-checks.mk test-ensure_value)
test-ensure_value-negative:
$(Q)$(call command_should_fail,"$(MAKE)" -C $(MAKEFILES_UTILS) -f test-checks.mk test-ensure_value-negative)

View File

@ -0,0 +1,14 @@
Build system utils tests
========================
This test checks the build system 'utils' functions declared in
`makefiles/utils`.
The test output says nothing in case of success.
Note
----
It should not be necessary to compile but this simplifies the integration in
murdock for the moment. Also there will be other tests that may need to check
the result of the compilation.

View File

@ -0,0 +1,25 @@
/*
* Copyright (C) 2018 Freie Universität Berlin
*
* This file is subject to the terms and conditions of the GNU Lesser General
* Public License v2.1. See the file LICENSE in the top level directory for more
* details.
*/
/**
* @ingroup tests
* @{
*
* @file
* @brief Empty main file
*
* @author Gaëtan Harter <gaetan.harter@fu-berlin.de>
*
* @}
*/
int main(void)
{
/* The important rules are in the Makefile */
return 0;
}