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