commit 25f89fd
Devine Lu Linvega
·
2026-06-21 21:39:14 +0000 UTC
parent db118a4
(File) Harder tests
1 files changed,
+27,
-8
+27,
-8
1@@ -13,11 +13,12 @@
2 ;dict/append file/test-append <test>
3 ;dict/read file/test-read <test>
4 ;dict/stat file/test-stat <test>
5+ ;dict/stat-oversize file/test-stat-oversize <test>
6+ ;dict/stat-of file/test-stat-of <test>
7 ;dict/delete file/test-delete <test>
8 ( | overflows )
9 ;dict/write-of file/test-write-of <test>
10 ;dict/read-of file/test-read-of <test>
11- ;dict/stat-of file/test-stat-of <test>
12 ( | dir )
13 ;dict/dir-spacer file/test-dir-spacer <test>
14 ;dict/dir-partial file/test-dir-partial <test>
15@@ -70,6 +71,29 @@
16 ;&stat-buf .File/stat DEO2
17 ;&stat-buf LDA2 LIT2 "!! EQU2 AND JMP2r
18
19+@file/test-stat-of ( -- pass )
20+ ;&name .File/name DEO2
21+ #0004 .File/length DEO2
22+ #fffe .File/stat DEO2
23+ .File/success DEI2 #0002 EQU2 JMP2r
24+
25+@file/test-stat-oversize ( -- pass )
26+ ;&name .File/name DEO2
27+ #0020 .File/length DEO2
28+ #f000 .File/write DEO2
29+ ( | Read stat too small )
30+ ;&name .File/name DEO2
31+ #0000 .File/length DEO2
32+ ;&sobuf .File/stat DEO2
33+ ;&sobuf LDA #00 EQU ?{ #00 JMP2r }
34+ #0001 .File/length DEO2
35+ ;&sobuf LDA LIT "? EQU ?{ #00 JMP2r }
36+ #0002 .File/length DEO2
37+ ;&sobuf LDA2 LIT2 "20 EQU2 ?{ #00 JMP2r }
38+ #0003 .File/length DEO2
39+ ;&sobuf LDA2 LIT2 "02 EQU2 JMP2r
40+ &sobuf $4
41+
42 @file/test-delete ( -- pass )
43 ;&name .File/name DEO2
44 #01 .File/delete DEO
45@@ -95,12 +119,6 @@
46 #ffff .File/read DEO2
47 .File/success DEI2 #0001 EQU2 JMP2r
48
49-@file/test-stat-of ( -- pass )
50- ;&name .File/name DEO2
51- #0004 .File/length DEO2
52- #fffe .File/stat DEO2
53- .File/success DEI2 #0002 EQU2 JMP2r
54-
55 @file/test-dir-spacer ( -- pass )
56 ;&dirpath .File/name DEO2
57 #0200 .File/length DEO2
58@@ -156,10 +174,11 @@
59 &append "File/append: 20 $1
60 &read "File/read: 20 $1
61 &stat "File/stat: 20 $1
62+ &stat-oversize "File/stat(oversize): 20 $1
63+ &stat-of "File/stat(overflow): 20 $1
64 &delete "File/delete: 20 $1
65 &write-of "File/write(overflow): 20 $1
66 &read-of "File/read(overflow): 20 $1
67- &stat-of "File/stat(overflow): 20 $1
68 &dir-spacer "File/dir(spacer): 20 $1
69 &dir-nostream "File/dir(nostream): 20 $1
70 &dir-partial "File/dir(partial): 20 $1