Add tests for singleton labeled argument function application #5967
GitHub Actions / Test Report
failed
Oct 18, 2024 in 0s
53 passed, 1 failed and 0 skipped
❌ junit_tests.xml
54 tests were completed in 0ms with 53 passed, 1 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
Dynamics | 53✅ | 1❌ | 0ms |
❌ Dynamics
Dynamics.Elaboration
✅ Single integer
✅ Empty hole
✅ Free variable
✅ Let expression
✅ Inconsistent binary operation
✅ Consistent if statement
✅ An unapplied function
✅ Application of function on free variable
✅ Inconsistent case statement
✅ Let expression for a function
✅ Function application with a deferred argument
✅ Labeled tuple elaboration
✅ Rearranged labeled tuple
✅ Singleton labeled tuple adds labels
✅ Singleton labeled tuple
✅ Singleton labeld tuple analysis adds label
✅ Singleton labeld tuple analysis adds label with type alias
✅ Singleton labeld tuple analysis adds label with type alias
✅ Singleton labeled argument function application with known type
✅ Singleton labeled argument function application with no label in ap
❌ Singleton labeled argument function application with unknown type
Alcotest assertion failure
Dynamics.LabeledTuple
✅ Singleton unlabeled
✅ Singleton labeled
✅ unlabeled remains same order
✅ fully labeled retains ordering
✅ Missing labels get added
✅ Present labels get reordered
✅ Partial labels get reordered
✅ Extra labels get reordered
✅ pair labeled, unlabled
✅ Independent label sets with some overlap
Dynamics.Statics
✅ Function with unknown param
✅ Function with known param
✅ Function with labeled param
✅ bifunction
✅ bifunction
✅ function application
✅ function deferral
✅ Typechecking fails for unlabeled variable being assigned to labeled tuple
✅ Typechecking fails for unlabeled variable being assigned to labeled tuple
✅ Assigning labeled tuple to variable
✅ Singleton Labled Tuple ascription in let
✅ Singleton Labled Tuple ascription in let with wrong type should fail
✅ Singleton Labled Tuple with specified label
✅ Labeled tuple with multiple labels
✅ Let statement that adds labels during elaboration
✅ Duplicate singleton labels
✅ Reconstructed labeled tuple without values
Dynamics.Evaluator
✅ Integer literal
✅ Integer sum
✅ Labeled tuple projection
Dynamics.MakeTerm
✅ Singleton Labled Tuple ascription in let
✅ Assigning labeled tuple to variable
✅ Multiple labels in tuple
Annotations
Check failure on line 0 in junit_tests.xml
github-actions / Test Report
Dynamics ► Dynamics.Elaboration ► Singleton labeled argument function application with unknown type
Failed test found in:
junit_tests.xml
Error:
Alcotest assertion failure
Raw output
Alcotest assertion failure
FAIL (fun a=x->x)(a=1)
Expected: `{ ids = <opaque>; copied = <opaque>;
term =
(Ap (Forward,
{ ids = <opaque>; copied = <opaque>;
term =
(Fun (
{ ids = <opaque>; copied = <opaque>;
term =
(Tuple
[{ ids = <opaque>; copied = <opaque>;
term =
(TupLabel (
{ ids = <opaque>; copied = <opaque>; term = (Label "a")
},
{ ids = <opaque>; copied = <opaque>; term = (Var "x") }
))
}
])
},
{ ids = <opaque>; copied = <opaque>; term = (Var "x") }, <opaque>,
None))
},
{ ids = <opaque>; copied = <opaque>;
term =
(Tuple
[{ ids = <opaque>; copied = <opaque>;
term =
(TupLabel (
{ ids = <opaque>; copied = <opaque>; term = (Label "a") },
{ ids = <opaque>; copied = <opaque>; term = (Int 1) }))
}
])
}
))
}'
Received: `{ ids = <opaque>; copied = <opaque>;
term =
(Ap (Forward,
{ ids = <opaque>; copied = <opaque>;
term =
(Fun (
{ ids = <opaque>; copied = <opaque>;
term =
(Tuple
[{ ids = <opaque>; copied = <opaque>;
term =
(TupLabel (
{ ids = <opaque>; copied = <opaque>; term = (Label "a")
},
{ ids = <opaque>; copied = <opaque>; term = (Var "x") }
))
}
])
},
{ ids = <opaque>; copied = <opaque>; term = (Var "x") }, <opaque>,
None))
},
{ ids = <opaque>; copied = <opaque>;
term =
(Tuple
[{ ids = <opaque>; copied = <opaque>;
term =
(TupLabel (
{ ids = <opaque>; copied = <opaque>; term = (Label "a") },
{ ids = <opaque>; copied = <opaque>;
term =
(Cast (
{ ids = <opaque>; copied = <opaque>;
term =
(Tuple
[{ ids = <opaque>; copied = <opaque>;
term =
(TupLabel (
{ ids = <opaque>; copied = <opaque>;
term =
(Cast (
{ ids = <opaque>; copied = <opaque>;
term = (Label "a") },
{ ids = <opaque>; copied = <opaque>;
term = (Label "a") },
{ ids = <opaque>; copied = <opaque>;
term = (Unknown Internal) }
))
},
{ ids = <opaque>; copied = <opaque>;
term =
(Cast (
{ ids = <opaque>; copied = <opaque>;
term = (Int 1) },
{ ids = <opaque>; copied = <opaque>;
term = Int },
{ ids = <opaque>; copied = <opaque>;
term = (Unknown Internal) }
))
}
))
}
])
},
{ ids = <opaque>; copied = <opaque>;
term =
(Prod
[{ ids = <opaque>; copied = <opaque>;
term = (Unknown Internal) }
])
},
{ ids = <opaque>; copied = <opaque>;
term = (Unknown Internal) }
))
}
))
}
])
}
))
}'
Loading