Skip to content

Commit 337b1da

Browse files
committed
Explicitly test \n and \r\n files
\r\n files must be working due to micropython's built in handling of text-mode files, I didn't implement it. \r-only (old mac text-mode files) are explicitly not supported by the toml format.
1 parent f6b69cf commit 337b1da

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed

tests/circuitpython/getenv.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def ioctl(self, op, arg):
3535
uos.VfsFat.mkfs(bdev)
3636
uos.mount(uos.VfsFat(bdev), "/")
3737

38-
content_good = """
38+
content_good = b"""
3939
# comment
4040
key0 = "hello world"
4141
key1 = 7
@@ -54,15 +54,15 @@ def ioctl(self, op, arg):
5454
"""
5555

5656
content_bad = [
57-
'key = "\n',
58-
'key = """\n',
59-
"key =\n",
60-
'key="',
57+
b'key = "\n',
58+
b'key = """\n',
59+
b"key =\n",
60+
b'key="',
6161
]
6262

6363

6464
def run_test(key, content):
65-
with open("/settings.toml", "w") as f:
65+
with open("/settings.toml", "wb") as f:
6666
f.write(content)
6767

6868
try:
@@ -72,11 +72,15 @@ def run_test(key, content):
7272
print(key, str(e))
7373

7474

75+
for i in range(13):
76+
run_test(f"key{i}", content_good)
77+
78+
content_good = content_good.replace(b"\n", b"\r\n")
7579
for i in range(13):
7680
run_test(f"key{i}", content_good)
7781

7882
# Test value without trailing newline
79-
run_test(f"noeol", "noeol=3")
83+
run_test(f"noeol", b"noeol=3")
8084

8185
for content in content_bad:
8286
run_test("key", content)

tests/circuitpython/getenv.py.exp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,19 @@ key9 'hello comment'
1111
key10 127
1212
key11 0
1313
key12 None
14+
key0 'hello world'
15+
key1 7
16+
key2 Invalid byte '\n'
17+
key3 'Áx'
18+
key4 'Áx'
19+
key5 Invalid byte '\\'
20+
key6 '\t\r\x08'
21+
key7 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
22+
key8 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
23+
key9 'hello comment'
24+
key10 127
25+
key11 0
26+
key12 None
1427
noeol 3
1528
key Invalid byte '\n'
1629
key Invalid byte '"'

0 commit comments

Comments
 (0)