unix: Make extra-coverage function callable from Python scripts.
This allows the output of the extra-coverage tests to be checked using the normal run-tests script.yield-from-fixes
parent
d3b32caea4
commit
d792d9e49e
|
@ -35,8 +35,6 @@ script:
|
||||||
- make -C unix CC=gcc-4.7 coverage
|
- make -C unix CC=gcc-4.7 coverage
|
||||||
- (cd tests && MICROPY_CPYTHON3=python3.4 MICROPY_MICROPYTHON=../unix/micropython_coverage ./run-tests)
|
- (cd tests && MICROPY_CPYTHON3=python3.4 MICROPY_MICROPYTHON=../unix/micropython_coverage ./run-tests)
|
||||||
- (cd tests && MICROPY_CPYTHON3=python3.4 MICROPY_MICROPYTHON=../unix/micropython_coverage ./run-tests --emit native)
|
- (cd tests && MICROPY_CPYTHON3=python3.4 MICROPY_MICROPYTHON=../unix/micropython_coverage ./run-tests --emit native)
|
||||||
# TODO the output of this extra coverage test is not checked
|
|
||||||
- unix/micropython_coverage --coverage
|
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
- (cd unix && coveralls --root .. --build-root . --gcov $(which gcov-4.7) --gcov-options '\-o build-coverage/' --include py --include extmod)
|
- (cd unix && coveralls --root .. --build-root . --gcov $(which gcov-4.7) --gcov-options '\-o build-coverage/' --include py --include extmod)
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
try:
|
||||||
|
extra_coverage
|
||||||
|
except NameError:
|
||||||
|
print("SKIP")
|
||||||
|
import sys
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
extra_coverage()
|
|
@ -0,0 +1,7 @@
|
||||||
|
ame__
|
||||||
|
|
||||||
|
__name__ path argv version
|
||||||
|
version_info implementation platform byteorder
|
||||||
|
maxsize exit stdin stdout
|
||||||
|
stderr exc_info print_exception
|
||||||
|
ementation
|
|
@ -7,13 +7,11 @@
|
||||||
#if defined(MICROPY_UNIX_COVERAGE)
|
#if defined(MICROPY_UNIX_COVERAGE)
|
||||||
|
|
||||||
// function to run extra tests for things that can't be checked by scripts
|
// function to run extra tests for things that can't be checked by scripts
|
||||||
void run_extra_coverage_tests(void);
|
STATIC mp_obj_t extra_coverage(void) {
|
||||||
|
|
||||||
void run_extra_coverage_tests(void) {
|
|
||||||
// repl autocomplete
|
// repl autocomplete
|
||||||
{
|
{
|
||||||
const char *str;
|
const char *str;
|
||||||
mp_uint_t len = mp_repl_autocomplete("__", 2, &mp_plat_print, &str);
|
mp_uint_t len = mp_repl_autocomplete("__n", 3, &mp_plat_print, &str);
|
||||||
printf("%.*s\n", (int)len, 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_store_global(MP_QSTR_sys, mp_import_name(MP_QSTR_sys, mp_const_none, MP_OBJ_NEW_SMALL_INT(0)));
|
||||||
|
@ -21,6 +19,9 @@ void run_extra_coverage_tests(void) {
|
||||||
len = mp_repl_autocomplete("sys.impl", 8, &mp_plat_print, &str);
|
len = mp_repl_autocomplete("sys.impl", 8, &mp_plat_print, &str);
|
||||||
printf("%.*s\n", (int)len, str);
|
printf("%.*s\n", (int)len, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return mp_const_none;
|
||||||
}
|
}
|
||||||
|
MP_DEFINE_CONST_FUN_OBJ_0(extra_coverage_obj, extra_coverage);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
13
unix/main.c
13
unix/main.c
|
@ -356,6 +356,13 @@ int main(int argc, char **argv) {
|
||||||
|
|
||||||
mp_obj_list_init(mp_sys_argv, 0);
|
mp_obj_list_init(mp_sys_argv, 0);
|
||||||
|
|
||||||
|
#if defined(MICROPY_UNIX_COVERAGE)
|
||||||
|
{
|
||||||
|
MP_DECLARE_CONST_FUN_OBJ(extra_coverage_obj);
|
||||||
|
mp_store_global(QSTR_FROM_STR_STATIC("extra_coverage"), (mp_obj_t)&extra_coverage_obj);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Here is some example code to create a class and instance of that class.
|
// Here is some example code to create a class and instance of that class.
|
||||||
// First is the Python, then the C code.
|
// First is the Python, then the C code.
|
||||||
//
|
//
|
||||||
|
@ -434,12 +441,6 @@ int main(int argc, char **argv) {
|
||||||
MP_STATE_VM(mp_optimise_value) = 0;
|
MP_STATE_VM(mp_optimise_value) = 0;
|
||||||
for (char *p = argv[a] + 1; *p && *p == 'O'; p++, MP_STATE_VM(mp_optimise_value)++);
|
for (char *p = argv[a] + 1; *p && *p == 'O'; p++, MP_STATE_VM(mp_optimise_value)++);
|
||||||
}
|
}
|
||||||
#if defined(MICROPY_UNIX_COVERAGE)
|
|
||||||
} else if (strcmp(argv[a], "--coverage") == 0) {
|
|
||||||
void run_extra_coverage_tests(void);
|
|
||||||
run_extra_coverage_tests();
|
|
||||||
ret = 0;
|
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
return usage(argv);
|
return usage(argv);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue