Skip to content

test(syntax): harden probes and align support status#1573

Draft
Jim8y wants to merge 2 commits intomaster-n3from
fix/syntax-probe-hardening-master-n3
Draft

test(syntax): harden probes and align support status#1573
Jim8y wants to merge 2 commits intomaster-n3from
fix/syntax-probe-hardening-master-n3

Conversation

@Jim8y
Copy link
Copy Markdown
Contributor

@Jim8y Jim8y commented Apr 3, 2026

Summary

  • fail syntax probes on unexpected compiler exceptions instead of treating arbitrary crashes as success
  • evaluate syntax probes against the contract unsupported-syntax analyzer so docs reflect real Neo contract acceptance
  • remove the ambiguous compile-only status from syntax documentation and probe metadata
  • classify top-level statements and file-local types as unsupported because the contract analyzer rejects them
  • keep collection expressions supported for explicit-element forms and split spread elements into a dedicated unsupported syntax entry
  • keep controlled diagnostics for unsupported collection-expression spread and setterless assignment paths

Review Notes

  • top-level statements are not deployable contract surface and should remain unsupported
  • file-local types are currently blocked by the analyzer and should remain unsupported until there is an explicit support decision
  • collection expressions already have runtime coverage for array, jagged-array, byte-array, and Neo framework list forms, so those forms should stay supported
  • spread elements remain a real implementation gap and should be tracked explicitly as unsupported instead of hidden behind a mixed-status umbrella entry

Testing

  • dotnet test tests/Neo.Compiler.CSharp.UnitTests/Neo.Compiler.CSharp.UnitTests.csproj -c Release --nologo
  • dotnet test tests/Neo.Compiler.CSharp.UnitTests/Neo.Compiler.CSharp.UnitTests.csproj -c Release --nologo --filter "FullyQualifiedNameNeo.Compiler.CSharp.UnitTests.Syntax.SyntaxTests|FullyQualifiedNameUnitTest_CollectionExpressionSupport|FullyQualifiedName~UnitTest_Array.Test_Collectionexpressions"

@Jim8y Jim8y marked this pull request as draft April 3, 2026 11:43
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.87%. Comparing base (9a44c4b) to head (4d5484e).

Additional details and impacted files
@@              Coverage Diff              @@
##           master-n3    #1573      +/-   ##
=============================================
- Coverage      80.26%   73.87%   -6.40%     
=============================================
  Files            295      326      +31     
  Lines          25436    27904    +2468     
  Branches        3454     3778     +324     
=============================================
+ Hits           20417    20614     +197     
- Misses          4121     6386    +2265     
- Partials         898      904       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Jim8y Jim8y changed the title test(syntax): harden probe failure handling test(syntax): harden probes and align support status Apr 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant