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:
Damien George
2015-05-08 00:19:56 +01:00
parent 0589c19d52
commit d3b32caea4
4 changed files with 38 additions and 1 deletions

26
unix/coverage.c Normal file
View 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