Rename test function, make 'bad' files binary & add another test
This commit is contained in:
parent
6dca9db225
commit
3ab71d7448
|
@ -9,6 +9,7 @@
|
||||||
!atmel-samd/asf/**/*.a
|
!atmel-samd/asf/**/*.a
|
||||||
*.elf
|
*.elf
|
||||||
*.bin
|
*.bin
|
||||||
|
!*.toml.bin
|
||||||
*.map
|
*.map
|
||||||
*.hex
|
*.hex
|
||||||
*.dis
|
*.dis
|
||||||
|
|
|
@ -8,9 +8,9 @@ repos:
|
||||||
hooks:
|
hooks:
|
||||||
- id: check-yaml
|
- id: check-yaml
|
||||||
- id: end-of-file-fixer
|
- id: end-of-file-fixer
|
||||||
exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*|ports/espressif/esp-idf-config/.*|ports/espressif/boards/.*/sdkconfig)'
|
exclude: '^(tests/.*\.toml|tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*|ports/espressif/esp-idf-config/.*|ports/espressif/boards/.*/sdkconfig)'
|
||||||
- id: trailing-whitespace
|
- id: trailing-whitespace
|
||||||
exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*|lib/mbedtls_errors/.*)'
|
exclude: '^(tests/.*\.toml|tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*|lib/mbedtls_errors/.*)'
|
||||||
- repo: local
|
- repo: local
|
||||||
hooks:
|
hooks:
|
||||||
- id: translations
|
- id: translations
|
||||||
|
|
|
@ -423,9 +423,9 @@ STATIC void set_sys_argv(char *argv[], int argc, int start_arg) {
|
||||||
mp_obj_t common_hal_os_getenv_path(const char *path, const char *key, mp_obj_t default_);
|
mp_obj_t common_hal_os_getenv_path(const char *path, const char *key, mp_obj_t default_);
|
||||||
STATIC mp_obj_t getenv_from_file(mp_obj_t path_in, mp_obj_t key_to_get_in) {
|
STATIC mp_obj_t getenv_from_file(mp_obj_t path_in, mp_obj_t key_to_get_in) {
|
||||||
return common_hal_os_getenv_path(mp_obj_str_get_str(path_in),
|
return common_hal_os_getenv_path(mp_obj_str_get_str(path_in),
|
||||||
mp_obj_str_get_str(key_to_get_in), default_);
|
mp_obj_str_get_str(key_to_get_in), mp_const_none);
|
||||||
}
|
}
|
||||||
MP_DEFINE_CONST_FUN_OBJ_2(getenv_from_file_obj, get_key);
|
MP_DEFINE_CONST_FUN_OBJ_2(getenv_from_file_obj, getenv_from_file);
|
||||||
|
|
||||||
MP_NOINLINE int main_(int argc, char **argv);
|
MP_NOINLINE int main_(int argc, char **argv);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
string="
|
|
@ -1,42 +0,0 @@
|
||||||
import os
|
|
||||||
|
|
||||||
try:
|
|
||||||
getenv_from_file
|
|
||||||
except NameError:
|
|
||||||
# Because run-tests.py suppresses site-packages, this test can't be run
|
|
||||||
# on the host interpreter. However, it can be run manually to
|
|
||||||
# generate/update the expected file.
|
|
||||||
#
|
|
||||||
# After 3.11 becomes standard, change this to use tomllib.
|
|
||||||
import tomlkit
|
|
||||||
|
|
||||||
def getenv_from_file(filename, key):
|
|
||||||
with open(filename) as f:
|
|
||||||
s = tomlkit.load(f)
|
|
||||||
return s.get(key, None)
|
|
||||||
|
|
||||||
|
|
||||||
def run_test(f, k=None):
|
|
||||||
try:
|
|
||||||
v = get_key(f"{BASE}/{f}.toml", k or f)
|
|
||||||
print(f, k, repr(v))
|
|
||||||
except Exception as e:
|
|
||||||
print(f, k, "err")
|
|
||||||
|
|
||||||
|
|
||||||
if "/" in __file__:
|
|
||||||
BASE = __file__.rsplit("/", 1)[0]
|
|
||||||
else:
|
|
||||||
BASE = "."
|
|
||||||
|
|
||||||
run_test("good", "notpresent")
|
|
||||||
run_test("good", "string")
|
|
||||||
run_test("good", "number")
|
|
||||||
run_test("good", "cstring")
|
|
||||||
run_test("good", "cnumber")
|
|
||||||
run_test("good", "subvalue")
|
|
||||||
for i in range(8):
|
|
||||||
run_test("good", f"string{i}")
|
|
||||||
run_test("bad1", "string")
|
|
||||||
run_test("bad2", "string")
|
|
||||||
run_test("bad3", "string")
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
def run_test(f, k=None):
|
||||||
|
try:
|
||||||
|
v = getenv_from_file(f"{BASE}/{f}.toml", k or f)
|
||||||
|
print(f, k, repr(v))
|
||||||
|
except Exception as e:
|
||||||
|
print(f, k, str(e))
|
||||||
|
|
||||||
|
|
||||||
|
BASE = __file__.rpartition("/")[0] or "."
|
||||||
|
|
||||||
|
run_test("good", "notpresent")
|
||||||
|
run_test("good", "string")
|
||||||
|
run_test("good", "number")
|
||||||
|
run_test("good", "cstring")
|
||||||
|
run_test("good", "cnumber")
|
||||||
|
run_test("good", "subvalue")
|
||||||
|
for i in range(8):
|
||||||
|
run_test("good", f"string{i}")
|
||||||
|
for i in range(1, 5):
|
||||||
|
run_test(f"bad{i}", f"string")
|
|
@ -1,17 +1,18 @@
|
||||||
good notpresent None
|
good.toml notpresent None
|
||||||
good string 'hello world'
|
good.toml string 'hello world'
|
||||||
good number 7
|
good.toml number 7
|
||||||
good cstring 'hello comment'
|
good.toml cstring 'hello comment'
|
||||||
good cnumber 127
|
good.toml cnumber 127
|
||||||
good subvalue None
|
good.toml subvalue None
|
||||||
good string0 None
|
good.toml string0 None
|
||||||
good string1 '\n'
|
good.toml string1 '\n'
|
||||||
good string2 'Áx'
|
good.toml string2 'Áx'
|
||||||
good string3 'Áx'
|
good.toml string3 'Áx'
|
||||||
good string4 '\x0c"\\'
|
good.toml string4 '\x0c"\\'
|
||||||
good string5 '\t\r\x08'
|
good.toml string5 '\t\r\x08'
|
||||||
good string6 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
good.toml string6 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||||
good string7 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
good.toml string7 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||||
bad1 string err
|
bad1.toml.bin string Invalid byte '\n'
|
||||||
bad2 string err
|
bad2.toml.bin string Invalid byte '"'
|
||||||
bad3 string err
|
bad3.toml.bin string invalid syntax for integer with base 10: ''
|
||||||
|
bad4.toml.bin string Invalid byte 'EOF'
|
Loading…
Reference in New Issue