Cf. dart-lang/sdk#43584.
The specification of the constraints on a declaration named main which is used as a program entry point allows each implementation to add its own constraints:
Implementations are free to impose any additional restrictions on the signature of main.
For instance, dart2js may reject void main([List<String> args]) {...} as an entry point.
Tests on main should aim to cover the signatures indicated in the specification, but each of those tests may fail on a specific tool, because it violates such an implementation specific constraint.
In that situation, the test should be disabled (for instance, using SkipByDesign in a status file, with a reference to this issue) for the relevant implementations.