#include <esp_log.h>
#include <bootloader_flash.h>
-const static char *TAG = "esp_image";
+static const char *TAG = "esp_image";
#define SIXTEEN_MB 0x1000000
#define ESP_ROM_CHECKSUM_INITIAL 0xEF
sha_context sha;
uint8_t digest[32];
ptrdiff_t keylen;
- const uint8_t *data, *digest_data;
- uint32_t digest_len;
+ const uint8_t *data;
const signature_block_t *sigblock;
bool is_valid;
+#ifdef BOOTLOADER_BUILD
+ const uint8_t *digest_data;
+ uint32_t digest_len;
+#endif
ESP_LOGD(TAG, "verifying signature src_addr 0x%x length 0x%x", src_addr, length);
}
}
+static void run_test(SRunner *runner, int verbosity, TCase *tc, int i)
+{
+ if (tc->setup != NULL) {
+ /* setup */
+ if (setjmp(env)) {
+ add_failure(runner, verbosity);
+ return;
+ }
+ tc->setup();
+ }
+ /* test */
+ if (setjmp(env)) {
+ add_failure(runner, verbosity);
+ return;
+ }
+ (tc->tests[i])();
+
+ /* teardown */
+ if (tc->teardown != NULL) {
+ if (setjmp(env)) {
+ add_failure(runner, verbosity);
+ return;
+ }
+ tc->teardown();
+ }
+}
+
void
srunner_run_all(SRunner *runner, int verbosity)
{
- Suite *suite;
- TCase *tc;
assert(runner != NULL);
- suite = runner->suite;
- tc = suite->tests;
+ assert(runner->suite != NULL);
+ TCase *tc = runner->suite->tests;
while (tc != NULL) {
- int i;
- for (i = 0; i < tc->ntests; ++i) {
+ for (int i = 0; i < tc->ntests; ++i) {
runner->nchecks++;
-
- if (tc->setup != NULL) {
- /* setup */
- if (setjmp(env)) {
- add_failure(runner, verbosity);
- continue;
- }
- tc->setup();
- }
- /* test */
- if (setjmp(env)) {
- add_failure(runner, verbosity);
- continue;
- }
- (tc->tests[i])();
-
- /* teardown */
- if (tc->teardown != NULL) {
- if (setjmp(env)) {
- add_failure(runner, verbosity);
- continue;
- }
- tc->teardown();
- }
+ run_test(runner, verbosity, tc, i);
+ tc = tc->next_tcase;
}
- tc = tc->next_tcase;
}
if (verbosity) {
int passed = runner->nchecks - runner->nfailures;
//we will need to wait some more.
ticks_to_wait = ticks_end - xTaskGetTickCount();
}
- } while (ringbufferFreeMem(rb) < needed_size && ticks_to_wait>=0);
-
+ } while (ringbufferFreeMem(rb) < needed_size && ticks_end >= xTaskGetTickCount());
+
//Lock the mux in order to make sure no one else is messing with the ringbuffer and do the copy.
portENTER_CRITICAL(&rb->mux);
//Another thread may have been able to sneak its write first. Check again now we locked the ringbuff, and retry
taskENTER_CRITICAL_ISR(&xTaskQueueMutex);
unsigned portBASE_TYPE foundNonExecutingWaiter = pdFALSE, ableToSchedule = pdFALSE, resetListHead;
- unsigned portBASE_TYPE uxDynamicTopReady = uxTopReadyPriority;
+ portBASE_TYPE uxDynamicTopReady = uxTopReadyPriority;
unsigned portBASE_TYPE holdTop=pdFALSE;
/*
while ( ableToSchedule == pdFALSE && uxDynamicTopReady >= 0 )
{
- configASSERT( uxTopReadyPriority>=0 );
- configASSERT( uxDynamicTopReady>=0 );
resetListHead = pdFALSE;
// Nothing to do for empty lists
if (!listLIST_IS_EMPTY( &( pxReadyTasksLists[ uxDynamicTopReady ] ) )) {
mkdir ${EXAMPLE_NUM}
cp -r ${example} ${EXAMPLE_NUM}
pushd ${EXAMPLE_NUM}/`basename ${example}`
- # build non-verbose first, only build verbose if there's an error
- make defconfig all || (RESULT=$?; make V=1)
+
+ # be stricter in the CI build than the default IDF settings
+ export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations"
+ export EXTRA_CXXFLAGS=${EXTRA_CFLAGS}
+
+ # build non-verbose first, only build verbose if there's an error
+ (make clean defconfig && make all ) || (RESULT=$?; make V=1)
popd
EXAMPLE_NUM=$(( $EXAMPLE_NUM + 1 ))
done
# CPPFLAGS used by C preprocessor
# If any flags are defined in application Makefile, add them at the end.
-CPPFLAGS := -DESP_PLATFORM $(CPPFLAGS)
+CPPFLAGS := -DESP_PLATFORM $(CPPFLAGS) $(EXTRA_CPPFLAGS)
# Warnings-related flags relevant both for C and C++
-COMMON_WARNING_FLAGS = -Wall -Werror \
+COMMON_WARNING_FLAGS = -Wall -Werror=all \
-Wno-error=unused-function \
-Wno-error=unused-but-set-variable \
-Wno-error=unused-variable \
- -Wno-error=deprecated-declarations
+ -Wno-error=deprecated-declarations \
+ -Wextra \
+ -Wno-unused-parameter -Wno-sign-compare
# Flags which control code generation and dependency generation, both for C and C++
COMMON_FLAGS = \
-std=gnu99 \
$(OPTIMIZATION_FLAGS) \
$(COMMON_FLAGS) \
- $(COMMON_WARNING_FLAGS) \
- $(CFLAGS))
+ $(COMMON_WARNING_FLAGS) -Wno-old-style-declaration \
+ $(CFLAGS) \
+ $(EXTRA_CFLAGS))
# List of flags to pass to C++ compiler
# If any flags are defined in application Makefile, add them at the end.
$(OPTIMIZATION_FLAGS) \
$(COMMON_FLAGS) \
$(COMMON_WARNING_FLAGS) \
- $(CXXFLAGS))
+ $(CXXFLAGS) \
+ $(EXTRA_CXXFLAGS))
export CFLAGS CPPFLAGS CXXFLAGS