From e7054b4f537fb244a4a128ecf19eef524c545b39 Mon Sep 17 00:00:00 2001 From: Daniel Lockau Date: Tue, 15 Dec 2020 09:20:43 +0100 Subject: [PATCH] tests/periph_rtc: test clear alarm --- tests/periph_rtc/main.c | 22 ++++++++++++++++++++++ tests/periph_rtc/tests/01-run.py | 13 +++++++------ 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/tests/periph_rtc/main.c b/tests/periph_rtc/main.c index aad6ba42d7..09c4c41999 100644 --- a/tests/periph_rtc/main.c +++ b/tests/periph_rtc/main.c @@ -92,8 +92,30 @@ int main(void) /* verify alarm */ rtc_get_alarm(&time); print_time(" Alarm is set to ", &time); + + /* clear alarm */ + rtc_clear_alarm(); + rtc_get_time(&time); + print_time(" Alarm cleared at ", &time); + + /* verify alarm has been cleared */ + xtimer_sleep(PERIOD); + rtc_get_time(&time); + if (mutex_trylock(&rtc_mtx)) { + print_time(" Error: Alarm at ", &time); + } + else { + print_time(" No alarm at ", &time); + } + + /* set alarm */ + rtc_get_time(&time); + inc_secs(&time, PERIOD); + rtc_set_alarm(&time, cb, &rtc_mtx); + print_time(" Setting alarm to ", &time); puts(""); + /* loop over a few alarm cycles */ while (1) { mutex_lock(&rtc_mtx); puts("Alarm!"); diff --git a/tests/periph_rtc/tests/01-run.py b/tests/periph_rtc/tests/01-run.py index d6274e6be1..d022b866eb 100755 --- a/tests/periph_rtc/tests/01-run.py +++ b/tests/periph_rtc/tests/01-run.py @@ -21,14 +21,9 @@ def testfunc(child): alarm_count = int(child.match.group(1)) child.expect(r' Setting clock to ({})'.format(DATE_PATTERN)) clock_set = child.match.group(1) - if BOARD == 'native': - child.expect(r'.*rtc_set_time: not implemented') child.expect(r'Clock value is now ({})'.format(DATE_PATTERN)) clock_value = child.match.group(1) - if BOARD != 'native': - # Set clock is not implemented for native board so no need to compare - # clock values - assert clock_set == clock_value + assert clock_set == clock_value child.expect(r' Setting alarm to ({})'.format(DATE_PATTERN)) alarm_set = child.match.group(1) @@ -36,6 +31,12 @@ def testfunc(child): alarm_value = child.match.group(1) assert alarm_set == alarm_value + child.expect(r" Alarm cleared at ({})".format(DATE_PATTERN)) + child.expect(r" No alarm at ({})".format(DATE_PATTERN)) + no_alarm_value = child.match.group(1) + assert alarm_value == no_alarm_value + + child.expect(r" Setting alarm to ({})".format(DATE_PATTERN)) for _ in range(alarm_count): child.expect_exact('Alarm!')