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
|
||||
*.elf
|
||||
*.bin
|
||||
!*.toml.bin
|
||||
*.map
|
||||
*.hex
|
||||
*.dis
|
||||
|
|
|
@ -8,9 +8,9 @@ repos:
|
|||
hooks:
|
||||
- id: check-yaml
|
||||
- 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
|
||||
exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*|lib/mbedtls_errors/.*)'
|
||||
exclude: '^(tests/.*\.toml|tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*|lib/mbedtls_errors/.*)'
|
||||
- repo: local
|
||||
hooks:
|
||||
- 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_);
|
||||
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),
|
||||
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);
|
||||
|
||||
|
|
|
@ -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 string 'hello world'
|
||||
good number 7
|
||||
good cstring 'hello comment'
|
||||
good cnumber 127
|
||||
good subvalue None
|
||||
good string0 None
|
||||
good string1 '\n'
|
||||
good string2 'Áx'
|
||||
good string3 'Áx'
|
||||
good string4 '\x0c"\\'
|
||||
good string5 '\t\r\x08'
|
||||
good string6 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
good string7 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
bad1 string err
|
||||
bad2 string err
|
||||
bad3 string err
|
||||
good.toml notpresent None
|
||||
good.toml string 'hello world'
|
||||
good.toml number 7
|
||||
good.toml cstring 'hello comment'
|
||||
good.toml cnumber 127
|
||||
good.toml subvalue None
|
||||
good.toml string0 None
|
||||
good.toml string1 '\n'
|
||||
good.toml string2 'Áx'
|
||||
good.toml string3 'Áx'
|
||||
good.toml string4 '\x0c"\\'
|
||||
good.toml string5 '\t\r\x08'
|
||||
good.toml string6 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
good.toml string7 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
bad1.toml.bin string Invalid byte '\n'
|
||||
bad2.toml.bin string Invalid byte '"'
|
||||
bad3.toml.bin string invalid syntax for integer with base 10: ''
|
||||
bad4.toml.bin string Invalid byte 'EOF'
|
Loading…
Reference in New Issue