get tests to pass with PROPER_FILLS

This commit is contained in:
dzaima 2024-10-09 02:30:58 +03:00
parent 36e8ad59f7
commit 1b1cda8a90
6 changed files with 32 additions and 19 deletions

View File

@ -43,6 +43,8 @@ tests:
# flags addable anywhere in code:
%SLOW # enable only if 'slow' argument present
%NDEBUG # disable if 'debug' argument present
%NHEAPVERIFY # disable if 'heapverify' argument present
%!DEBUG # disable if 'debug' argument present
%!HEAPVERIFY # disable if 'heapverify' argument present
%!PROPER_FILLS # enable only if has PROPER_FILLS==0
%PROPER_FILLS # enable only if has PROPER_FILLS==1
```

View File

@ -1,9 +1,9 @@
%DEF fill Fill•internal.HasFill'e'{10𝕩}
%USE fill F 0,1,{},+,@,'𝕩' FillF , 00, 0, 020, "", 20"" %NHEAPVERIFY %% 24/['e',00,0,0,'e','e','e','e','e','e','e','e']
%USE fill F+ 0,1,{},+,@,'𝕩' FillF , 00, 0, 020, "", 20"" %NHEAPVERIFY %% 66'e',00,0,0,' ',' ','e',00,0,0,' ',' ','e','e','e','e','e','e','e','e','e','e','e','e','e'," ",' ',' ','e','e','e'," ",' ',' ','e','e'
%USE fill F- 0,1,{},+,@,'𝕩' FillF , 00, 0, 020, "", 20"" %NHEAPVERIFY %% 66'e',00,0,0,'e','e','e',00,0,0,'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e'," ",' ',' ',0,0,'e'," ",' ',' ',0,0
%USE fill F-˜ 0,1,{},+,@,'𝕩' FillF , 00, 0, 020, "", 20"" %NHEAPVERIFY %% 66'e',00,0,0,' ',' ','e',00,0,0,' ',' ','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e',0,0,'e','e','e','e',0,0
%USE fill F 0,1,{},+,@,'𝕩' FillF , 00, 0, 020, "", 20"" %!HEAPVERIFY %% 24/['e',00,0,0,'e','e','e','e','e','e','e','e']
%USE fill F+ 0,1,{},+,@,'𝕩' FillF , 00, 0, 020, "", 20"" %!HEAPVERIFY %% 66'e',00,0,0,' ',' ','e',00,0,0,' ',' ','e','e','e','e','e','e','e','e','e','e','e','e','e'," ",' ',' ','e','e','e'," ",' ',' ','e','e'
%USE fill F- 0,1,{},+,@,'𝕩' FillF , 00, 0, 020, "", 20"" %!HEAPVERIFY %% 66'e',00,0,0,'e','e','e',00,0,0,'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e'," ",' ',' ',0,0,'e'," ",' ',' ',0,0
%USE fill F-˜ 0,1,{},+,@,'𝕩' FillF , 00, 0, 020, "", 20"" %!HEAPVERIFY %% 66'e',00,0,0,' ',' ','e',00,0,0,' ',' ','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e',0,0,'e','e','e','e',0,0
%USE fill (> !Fill )¨ 0, ""
%USE fill ,Fill,Fill Fill{𝕎𝕩}¨< 0012<2 %% ,,00

View File

@ -30,14 +30,14 @@
%USE fastone a5+1e6 n{𝕊: a 1+}_fastone 4 ! (10a) (5+n)6+9
# in-place ⌾(l⊸⊏) list
%USE fastone a¨5+1e6 n{𝕊: a 1+(133¯1)}_fastone 4 ! (¨5678910000001000001100000210000031000004+0n0n00000n) (5a)¯5a #%NDEBUG
%USE fastone a5+1e6 n{𝕊: a 1+(133¯1)}_fastone 4 ! ( 5678910000001000001100000210000031000004+0n0n00000n) (5a)¯5a #%NDEBUG
%USE fastone a5+1e6@+10000 n{𝕊: a 1+(133¯1)}_fastone 4 ! (@+567891000010001100021000310004 +0n0n00000n) (5a)¯5a #%NDEBUG
%USE fastone a¨5+1e6 n{𝕊: a 1+(133¯1)}_fastone 4 ! (¨5678910000001000001100000210000031000004+0n0n00000n) (5a)¯5a %!DEBUG
%USE fastone a5+1e6 n{𝕊: a 1+(133¯1)}_fastone 4 ! ( 5678910000001000001100000210000031000004+0n0n00000n) (5a)¯5a %!DEBUG
%USE fastone a5+1e6@+10000 n{𝕊: a 1+(133¯1)}_fastone 4 ! (@+567891000010001100021000310004 +0n0n00000n) (5a)¯5a %!DEBUG
# in-place ⌾(l⊸⊏) highrank
%USE fastone a22¨5+1e6 n{𝕊: a 1+(133¯1)}_fastone 4 ! a (n×1,3,¯1+a˜a) + 22¨5+1e6 #%NDEBUG
%USE fastone a225+1e6 n{𝕊: a 1+(133¯1)}_fastone 4 ! a (n×1,3,¯1+a˜a) + 225+1e6 #%NDEBUG
%USE fastone a225+1e6@+10000 n{𝕊: a 1+(133¯1)}_fastone 4 ! a (n×1,3,¯1+a˜a) + 225+1e6@+10000 #%NDEBUG
%USE fastone a22¨5+1e6 n{𝕊: a 1+(133¯1)}_fastone 4 ! a (n×1,3,¯1+a˜a) + 22¨5+1e6 %!DEBUG
%USE fastone a225+1e6 n{𝕊: a 1+(133¯1)}_fastone 4 ! a (n×1,3,¯1+a˜a) + 225+1e6 %!DEBUG
%USE fastone a225+1e6@+10000 n{𝕊: a 1+(133¯1)}_fastone 4 ! a (n×1,3,¯1+a˜a) + 225+1e6@+10000 %!DEBUG
# in-place ∾⟜atom & ∾⟜list
%USE fastone %USE tvar2 {𝕊v: j<(×) v {a𝕩 n{𝕊: aj}_fastone 4 !( n +𝕩)a !av¨a}_tvar2_"f" 1e6 <𝕩}¨ 1, 12, 'a'

View File

@ -199,6 +199,7 @@ w←1‿1⥊1 ⋄ x←2⥊1 ⋄ w‿x <¨↩ ⋄ {! (∾⟨•Repr𝕩,": Expe
33<1030 %% 3030
33<00 %% 00
133<103<"hi" %% " "
!"∾: Empty array 𝕩 cannot have an atom fill element" % 0 %PROPER_FILLS
%%
# 𝕨∾𝕩

View File

@ -116,9 +116,12 @@ n←500 ⋄ a←↕n ⋄ i←(-n)+↕2×n ⋄ r←⌽(2×n)⥊a ⋄ ! (⌽a) ≡
%USE eqvar 100011 { 3¨(𝕨/)𝕩}_eqvar "hellow" %% 3'e''l''l'33
%USE eqvar 100011 { +˙¨(𝕨/)𝕩}_eqvar -÷×=<> %% +÷×=++
!"/: Lengths of components of 𝕨 must match 𝕩 (6 ≠ 7)" % 0¨(100011/) 0101010
4 (3)(010/) 3 %% 0,3,2,0
4 (010/) 3 %% 0,1,2,0
4 (000/) 3 %% 0,1,2,0
4 (3)(010/) 3 %!PROPER_FILLS %% 0,3,2,0
4 (010/) 3 %!PROPER_FILLS %% 0,1,2,0
4 (000/) 3 %!PROPER_FILLS %% 0,1,2,0
!"No fill found" % 4 (3)(010/) 3 %PROPER_FILLS
!"No fill found" % 4 (010/) 3 %PROPER_FILLS
!"No fill found" % 4 (000/) 3 %PROPER_FILLS
# <
< 4 %% 4

View File

@ -39,6 +39,7 @@ o ← {
heapverify ´i=6
debug ´i=7
noCatch ´i=8
properFills {noerr? 0; 1 01 }
noerr heapverify
update ¬heapverify
files (i=named)/args
@ -92,7 +93,15 @@ Run ← { 𝕊 testname:
´m
}
{lni-1 fast¬Flag"%SLOW" debug¬Flag"%NDEBUG" heapverify¬Flag"%NHEAPVERIFY" strstr}
{
enabled ¬ (¬o.slow) Flag "%SLOW"
enabled ¬ o.debug Flag "%!DEBUG"
enabled ¬ o.heapverify Flag "%!HEAPVERIFY"
enabled {00: 1; 10: o.properfills; 01: ¬o.properfills} Flag¨ "%PROPER_FILLS""%!PROPER_FILLS"
ln i-1
str str # at end to let Flag have updated it
}
}
tests SearchRefine @¨/ <(ProcessNext)•_while_{𝕊: ilns}
{𝕊: •Out "Narrowed down to test "Pos (tests).ln} (o.search@)1=tests
@ -135,9 +144,7 @@ Run ← { 𝕊 testname:
Eval {dir, testname,"_line_",•Repr currLn+1,".bqn", "arg0",1 •BQN 𝕩}
EvalS •BQN{𝕊: Bad "Bad comparison value" "(bad)"}
toRun tests
toRun {{𝕩.fast }¨/𝕩}(¬o.slow)
toRun {{𝕩.debug }¨/𝕩}o.debug
toRun {{𝕩.heapverify}¨/𝕩}o.heapverify
toRun {{𝕩.enabled}¨/𝕩}
skipped+ (tests)-toRun
results {
"eval"str: {