6 enum tests_finish_reason {
8 LJR_SPECIAL_DEINIT = 2,
9 // LJR_SLEEP_WITH_INT_OFF - LJR_SPECIAL_DEINIT happens...
12 #define ATMEGA48_UDR0 0xc6
13 #define ATMEGA88_UDR0 0xc6
14 #define ATMEGA644_UDR0 0xc6
16 #define fail(s, ...) _fail(__FILE__, __LINE__, s, ## __VA_ARGS__)
18 void __attribute__ ((noreturn,format (printf, 3, 4)))
19 _fail(const char *filename, int linenum, const char *fmt, ...);
21 avr_t *tests_init_avr(const char *elfname);
22 void tests_init(int argc, char **argv);
23 void tests_success(void);
25 int tests_run_test(avr_t *avr, unsigned long usec);
26 int tests_init_and_run_test(const char *elfname, unsigned long run_usec);
27 void tests_assert_uart_receive(const char *elfname,
28 unsigned long run_usec,
29 const char *expected, // what we should get
31 void tests_assert_uart_receive_avr(avr_t *avr,
32 unsigned long run_usec,
36 void tests_assert_cycles_at_least(unsigned long n);
37 void tests_assert_cycles_at_most(unsigned long n);
39 // the range is inclusive
40 void tests_assert_cycles_between(unsigned long min, unsigned long max);
42 extern avr_cycle_count_t tests_cycle_count;
43 extern int tests_disable_stdout;