unix: Add special function to improve coverage.
The function and corresponding command-line option are only enabled for the coverage build. They are used to exercise uPy features that can't be properly tested by Python scripts.
This commit is contained in:
26
unix/coverage.c
Normal file
26
unix/coverage.c
Normal file
@@ -0,0 +1,26 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "py/runtime.h"
|
||||
#include "py/repl.h"
|
||||
|
||||
#if defined(MICROPY_UNIX_COVERAGE)
|
||||
|
||||
// function to run extra tests for things that can't be checked by scripts
|
||||
void run_extra_coverage_tests(void);
|
||||
|
||||
void run_extra_coverage_tests(void) {
|
||||
// repl autocomplete
|
||||
{
|
||||
const char *str;
|
||||
mp_uint_t len = mp_repl_autocomplete("__", 2, &mp_plat_print, &str);
|
||||
printf("%.*s\n", (int)len, str);
|
||||
|
||||
mp_store_global(MP_QSTR_sys, mp_import_name(MP_QSTR_sys, mp_const_none, MP_OBJ_NEW_SMALL_INT(0)));
|
||||
mp_repl_autocomplete("sys.", 4, &mp_plat_print, &str);
|
||||
len = mp_repl_autocomplete("sys.impl", 8, &mp_plat_print, &str);
|
||||
printf("%.*s\n", (int)len, str);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user