Repository navigation
Expand file tree
/
Copy pathknown-failing.txt
More file actions
17 lines (16 loc) · 2.21 KB
/
Copy pathknown-failing.txt
File metadata and controls
17 lines (16 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Targets that do not currently pass, one per line: <target>|<what to expect>
#
# run.sh reports these as `known-fail` rather than `FAIL` and does not fail the run over them. The
# point is not to excuse them. It is so that a NEW breakage is distinguishable from the ones already
# understood, which a suite that simply went red everywhere could not tell you.
#
# Delete a line when the cause is fixed. If the target then still fails, run.sh will say so.
#
# Every target builds. eval, cpp and hl pass in full, as do cppia and HashLink bytecode. What is left
# is on two targets and is mostly one shape: a macro-generated abstract wrapper whose members
# reflection cannot reach. Neko carries one that is not that shape, recorded below.
#
# The counts here are checked against a real run rather than remembered. They had drifted: this said
# neko had three failures when it has four, and python three when it has two.
neko|4 failures. Three are a scripted abstract forwarding to a native underlying type: `@:to conversion`, `bare forwards everything` (`@:forward` over an Array), and `forwarded method mutates`. `Type.getClassName` answers for instances as well as classes on neko, so the portable class test used on python cannot be widened here. See `hxscript.types.TypeTools.isClass`, which is deliberately `#if python`. The fourth is a different fault and was never recorded here: `a parent method can be called` in ParentTest answers null where the host's `greet()` should run, so a method reached through an interpreter's `parent` binding is not found on neko.
python|2 failures and 3 gaps. Both failures are `@:forward` over the macro-generated wrapper, `bare forwards everything` and `forwarded method mutates`: `_forwards` reads back null through `Reflect.field` on the wrapper class, so `AbstractTools.forwards` says no and the call never reaches the underlying value. The `@:to conversion` neko fails passes here. The gaps are `String.fromCharCode` (the interpreter resolves `String` to an anonymous object, not a class, so statics on it are unreachable), `catch order` (a typed `catch (e:Int)` matches a String), and `using ext` (the extension's member is `inline`, so the shim is keyed on the extension type while the call is keyed on the receiver).