Repository navigation
Move and expand editor tests, and avoid duplicate CI - #112
Merged
Merged
Conversation
Why Keep development tests out of both UPM and unitypackage distributions. What Changed Move the existing test assembly and fixtures to Assets/Tests/SerializeReferenceExtensions, preserving their contents and GUIDs. Document the development test location and distribution boundary. Impact The development project and existing Linux EditMode matrix still discover the same tests. Runtime and Editor package code are unchanged.
Why Published selection, label, drawer and reset behavior lacked regression tests. What Changed Exercise public selection APIs and registered Inspector and menu operations. Cover inheritance and generic candidate gaps, and map tests to contract sources. Keep two value-type variance defect reproductions explicit until a product fix. Impact Editor behavior is checked without fixing private package implementation details. Existing clipboard tests and all product code remain unchanged.
Why Rendered labels and real popup input require a graphics-capable Editor view. What Changed Run both Linux EditMode versions under Xvfb with software OpenGL. Document graphics requirements and the contract-to-test map. Impact Inspector regressions participate in the normal Verification gate. Player builds and package exports remain in the Release workflow.
Why A separate test inventory duplicates the executable tests and drifts over time. What Changed Remove Documentation/Tests.md and its AGENTS.md reference. Impact Test coverage and execution stay defined by the tests and CI configuration.
Why Avoid duplicate Tests workflow runs when a branch with an open pull request receives a push. What Changed Restrict the push trigger to main while retaining pull_request and workflow_dispatch triggers. Impact Pull request updates run one Linux EditMode matrix. Main pushes and manual runs remain available.
Cover published managed-reference behavior with specification tests
Why Include the current main branch without distributing the newly added development tests. What Changed Preserve the upstream Inspector change-notification fix and move its test and metadata to Assets/Tests/SerializeReferenceExtensions/Editor. Consolidate the graphics test instructions. Impact The combined EditMode suite covers the upstream fix while both package distribution roots remain free of test code.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Keep development tests outside the UPM source and unitypackage export, and expand the EditMode suite to cover published managed-reference behavior. Run the Tests workflow on pull requests and pushes to
main, so an update to a pull request branch starts a single EditMode matrix.Scope
Assets/Tests/SerializeReferenceExtensions, preserving asset GUIDs and assembly identity. Document the development test location and distribution boundary inAGENTS.md.pushtrigger tomain. Retain pull request and manual triggers, theAssets/**change filter, the Linux Unity 2021.3.45f2 / 2023.2.22f1 matrix, and the finalVerificationgate.Two value-type variance reproductions from #114 remain
Explicitbecause they expose an existing product defect on Unity 2023.2. They preserve the exclusion assertion and are skipped by the continuous suite pending a separate product fix.Verification
ea3045f, all 22 moved files were byte-identical to the base, including metadata; existing GUIDs and assembly references were preserved. The later test additions and changes are described in Cover published managed-reference behavior with specification tests #114.UnityPackageExporter.Exportmethod and inspected all 23 asset paths and archive contents: no tests, fixtures, helper scripts, or test assembly. After integrating main, checked that all tests remain outside both distribution roots and that production code and the exporter match main.mainpush restriction and retained pull request / manual triggers. Independent review found no actionable defects in the relocation or trigger change; the specification-test review and limitations are recorded in Cover published managed-reference behavior with specification tests #114.88cd071produced exactly one Tests workflow run (pull_request) and passed both Linux EditMode versions andVerification.main(f8c8ed6, including Fix Inspector updates after SubclassSelector type changes #113) and moved its newly added Inspector change-check test and metadata outside the package without changing their contents or GUID. All 24 pre-existing main test files now reside in the development test tree. Production code and the exporter match current main.References