Bump the nuget group with 2 updates - #130
Closed
dependabot[bot] wants to merge 1 commit into
Closed
dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps Microsoft.NET.Test.Sdk from 18.9.0 to 18.10.0 Bumps Pixnop.Atlas.XUnit from 0.11.0 to 0.13.0 --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget - dependency-name: Pixnop.Atlas.XUnit dependency-version: 0.13.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
|
Superseded by #134. |
dependabot
Bot
deleted the
dependabot/nuget/Nimbus.Cli.Tests/indev/nuget-066a1bd4e1
branch
September 16, 2026 17:28
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.
Updated Microsoft.NET.Test.Sdk from 18.9.0 to 18.10.0.
Release notes
Sourced from Microsoft.NET.Test.Sdk's releases.
18.10.0
What's Changed
vstest.consoleand datacollector by @nohwnd in Run Microsoft.Testing.Platform test apps under vstest.console and datacollector microsoft/vstest#16201Full Changelog: microsoft/vstest@v18.9.0...v18.10.0
Commits viewable in compare view.
Updated Pixnop.Atlas.XUnit from 0.11.0 to 0.13.0.
Release notes
Sourced from Pixnop.Atlas.XUnit's releases.
0.13.0
Added
samples/: a README explaining what each of the three sample projects demonstrates, aConfigScenariosscenario asserting the same command from a joined test player's chat(
SayplusClient.ChatLines()) next to the console-caller version, and anIsolationScenariospair showing that two scenarios writing the same block pass in eitherorder under
RollbackWorld = true, with no test orderer. The samples are the runnabledocumentation, and until now they covered neither test players nor world isolation.
CONTRIBUTING.md, a pull request template and a bug report form: build environment, thethree test commands, branch and commit conventions, the changelog expectation, and the
release steps including the three places the pinned package version has to be bumped.
The NuGet packages carry an icon, and their page on nuget.org now reads as a page written for
nuget.org. The repository README was packed as-is, so its logo, its LICENSE link and its eight
links into
docs/and.github/all pointed at paths that do not exist there. A shortdocs/nuget-readme.mdwith absolute URLs is packed instead: what Atlas is, requirements, theinstall line, a first scenario, and links back to the README, the wiki, the changelog and the
Mod DB page.
Changed
Breaking:
atlas fixtureand worker mode now need a scenario assembly rebuilt against thisrelease's harness. The CLI calls
Atlas.XUnitby compiled signature instead of locating itsmembers by name, and that needs the friend grant only this release's
Atlas.XUnitcarries. Anassembly built against an older harness prints one line naming the harness version found, the
version of the tool that met it and what the runtime threw, then exits 2: update the tool or
rebuild the test project.
atlas stageis unaffected, having calledAtlasthis way since0.11.0, the release that introduced it. That one line replaces three different endings for the
same case: a raw
MissingMethodExceptionorTypeLoadExceptionout ofatlas stage, exit 1out of
atlas fixture, and, in worker mode, silence, with theclass-summaryevents simplynever arriving. The tool still ships no harness copy of its own, so the assembly's own harness
version is still the one that runs.
The XML documentation shipped in the packages now matches the code it describes.
ScenarioTimeoutExceptionlistedTicksamong its throwers, which a fixed tick wait cannot be,and said nothing about
TicksWaitedmeaning the host's tick count for a watchdog timeout;AtlasSetupExceptioncovered only install, mods and staging, not the declaration errors, thecalls that cannot proceed or the engine drift that also raise it.
TicksandUntildid not document the argument exceptions they throw, nor that
Untilfirst evaluates itspredicate on the tick after the call;
Saydeferred its completion guarantee to internalremarks a consumer cannot read;
JoinPlayerdocumented one of its fourAtlasSetupExceptioncauses, neither the
ScenarioTimeoutExceptionits own inventory wait can raise nor the engine'splayer-name rule;
ExecuteCommanddid not say it has no tick bound of its own.EntitySimulationTickspointed at a repo path andAtlasModsAttributeat an internal type,neither followable from IntelliSense.
WorldOptionsandDataFileSeednow say which attributewrites them, and
[AtlasScenario]states theAtlasScenarioBaserequirement and what awatchdog timeout costs the rest of the class. No behavior changed.
... (truncated)
0.12.1
Fixed
ScratchSweepTests.Scratch_Should_BeDeletedOnHandOff_When_ANestedClassEndsGreenkept flakingon CI after #103 (six
System.TimeoutExceptionfailures across the 1.21.7, 1.22.0, 1.22.2 and1.22.7 lanes, the last one at exactly 3 min 30 s with the widened bound). The bound was never
the cause:
HostRegistry.GetOrCreateAsynchanded a class back a cached host that a laterServerHostboot had superseded. Every boot callsBridgeRendezvous.Reset(), which nulls theprocess-wide
TickFiredevent and re-points the engine's statics (ServerMain.Logger,ClassRegistry) at the new server, so a host booted while another is live (everydirect-
ServerHostengine test does this) leaves the earlier host pumping but tickless: everytick wait on it hangs forever, tick-counted timeouts included, and the rollback capture runs
outside the scenario watchdog (or, when the engine logs first, it crashes with an NRE attributed
to the wrong class). The registry only reuses a cached host when the same class asks again
in-process, which happens in exactly one place: the flaking test's nested run of
IsolationActivityScenariosafterNestedRunnerTestshad run that class nested and left itsrestart replacement live. The three failing TRX timelines share the order
NestedRunnerTests,then only direct-host classes (
WorldSaveTests,EntitySimulationTickTests,ClientObservationTests), then the flake, and each failure lasted exactly the bound plusRunnerDisposal's 30 s idle grace, while passing lanes ran the same test in 11 to 13 s; xunitv2 orders test classes randomly per run, hence the intermittency. The registry now disposes and
reboots a cached host whose boot another host superseded (
ServerHost.IsSuperseded, therendezvous identity of its own boot), exactly as for an owner change;
SupersededHostTestspinsthe behavior. No bound changed.
Changed
server-main.logfiles (the post-mortem artifact theissue #83 sweep preserves for red classes) as an artifact when an E2E lane fails; until now they
stayed on the runner and were lost with it.
0.12.0
Added
ITestPlayer.Client, a client-side assertion surface with no client process (issue #100,tier 2, from the Caminus field request: its server side drives a thermal overlay through
HighlightBlocks(player, slot 7, ...),SpawnParticles(...)and a protobufOverlayPacketon mod channel
"caminus", none of which a server-only harness could observe). The testplayer's dummy connection already receives every packet a real client would; Atlas now
drains it through the engine's own
DummyTcpNetClient.ReadMessage()on each read anddecodes with the engine's own serializer:
Highlights(slot)(positions and colors of thelatest highlight packet for the slot, an empty highlight clears it, mirroring the client),
Particles()(the provider rebuilt as a client would, with position, velocity, quantityand color lifted for
SimpleParticleProperties),Packets<T>(channel)(mod-channelmessages resolved through the server's own channel registry and deserialized with the
game's protobuf-net,
Tmatched by full name so the ModLoader's own copy of the mod dll isfine),
ChatLines()andClear(). Records expose the raw packedColorplus a decodedRgba, because the engine's two renderers read the int differently (highlights:ColorFromRgba, red in the lowest byte; particles:ToRgba(a, r, g, b), red in bits 16 to23, both decompile-verified on 1.21.7/1.22.0/1.22.7). Observations are cleared on a
RollbackWorldrestore (same event-bus hook a cooperating mod uses). TCP channels only.Full contract, tap point and engine symbol table in docs/specs/2026-07-17-client-observations.md.
ITestPlayer.Say(message)(issue #100): sends a chat line the way a real client's chatbox does, over the same dummy connection the join sequence uses. First consumer feedback
on 0.12.0-rc.1's
ITestPlayer.Client(Caminus): a scenario driving a command throughIWorldSession.ExecuteCommandgets the command's return value, but its synthetic consolecaller carries no player, so any reply the handler routes through the calling player
(
args.Caller.Player.SendMessage, or the engine's own status-message echo, which targetsthe same) had nowhere to land -
ChatLines()stayed empty and the reply path wasuntestable.
Sayruns the exact packet a real client sends(
Packet_Client { Id = 4, Chatline }, decompile-verified byte-identical on1.21.7/1.22.3/1.22.7), so the server's real chat/command dispatch runs with the joined
player behind it and routes replies back through
Client.ChatLines()like any othercapture. Waits internally before returning, in two parts: polls the engine's own
background packet-parsing thread's inbound queue down to zero (a cross-thread race whose
latency is wall-clock, not tick, bounded - a fixed-tick wait here measured flaky under a
loaded test run against 1.21.7), then a fixed 2 ticks for the game-thread-only dispatch
pass, which is genuinely tick-bounded. A caller reading
Clientright afterawait player.Say(...)sees the reply with no further wait; full measurement in thetiming section of docs/specs/2026-07-17-client-observations.md.
Fixed
ScratchSweepTests.Scratch_Should_BeDeletedOnHandOff_When_ANestedClassEndsGreen(the issue#83 sweep E2E added in #85) flaked on CI under runner load with
System.TimeoutExceptionaround 2 min 30 s, five times across several VS lanes, always green on rerun and locally.
Root cause: its nested-runner boot (one real embedded server, the same shape
TheoryNestedRunnerTestsalready budgets 3 minutes for) was bounded to 2 minutes for nostated reason, tighter than that precedent; under CI load the boot was still in flight at 2
minutes, and
RunnerDisposal's own 30 s idle-wait grace before giving up padded the... (truncated)
0.12.0-rc.2
Added
ITestPlayer.Say(message)(issue #100): sends a chat line the way a real client's chatbox does, over the same dummy connection the join sequence uses. First consumer feedback
on 0.12.0-rc.1's
ITestPlayer.Client(Caminus): a scenario driving a command throughIWorldSession.ExecuteCommandgets the command's return value, but its synthetic consolecaller carries no player, so any reply the handler routes through the calling player
(
args.Caller.Player.SendMessage, or the engine's own status-message echo, which targetsthe same) had nowhere to land -
ChatLines()stayed empty and the reply path wasuntestable.
Sayruns the exact packet a real client sends(
Packet_Client { Id = 4, Chatline }, decompile-verified byte-identical on1.21.7/1.22.3/1.22.7), so the server's real chat/command dispatch runs with the joined
player behind it and routes replies back through
Client.ChatLines()like any othercapture. Waits internally before returning, in two parts: polls the engine's own
background packet-parsing thread's inbound queue down to zero (a cross-thread race whose
latency is wall-clock, not tick, bounded - a fixed-tick wait here measured flaky under a
loaded test run against 1.21.7), then a fixed 2 ticks for the game-thread-only dispatch
pass, which is genuinely tick-bounded. A caller reading
Clientright afterawait player.Say(...)sees the reply with no further wait; full measurement in thetiming section of docs/specs/2026-07-17-client-observations.md.
0.12.0-rc.1
Added
ITestPlayer.Client, a client-side assertion surface with no client process (issue #100,tier 2, from the Caminus field request: its server side drives a thermal overlay through
HighlightBlocks(player, slot 7, ...),SpawnParticles(...)and a protobufOverlayPacketon mod channel
"caminus", none of which a server-only harness could observe). The testplayer's dummy connection already receives every packet a real client would; Atlas now
drains it through the engine's own
DummyTcpNetClient.ReadMessage()on each read anddecodes with the engine's own serializer:
Highlights(slot)(positions and colors of thelatest highlight packet for the slot, an empty highlight clears it, mirroring the client),
Particles()(the provider rebuilt as a client would, with position, velocity, quantityand color lifted for
SimpleParticleProperties),Packets<T>(channel)(mod-channelmessages resolved through the server's own channel registry and deserialized with the
game's protobuf-net,
Tmatched by full name so the ModLoader's own copy of the mod dll isfine),
ChatLines()andClear(). Records expose the raw packedColorplus a decodedRgba, because the engine's two renderers read the int differently (highlights:ColorFromRgba, red in the lowest byte; particles:ToRgba(a, r, g, b), red in bits 16 to23, both decompile-verified on 1.21.7/1.22.0/1.22.7). Observations are cleared on a
RollbackWorldrestore (same event-bus hook a cooperating mod uses). TCP channels only.Full contract, tap point and engine symbol table in docs/specs/2026-07-17-client-observations.md.
Fixed
ScratchSweepTests.Scratch_Should_BeDeletedOnHandOff_When_ANestedClassEndsGreen(the issue#83 sweep E2E added in #85) flaked on CI under runner load with
System.TimeoutExceptionaround 2 min 30 s, five times across several VS lanes, always green on rerun and locally.
Root cause: its nested-runner boot (one real embedded server, the same shape
TheoryNestedRunnerTestsalready budgets 3 minutes for) was bounded to 2 minutes for nostated reason, tighter than that precedent; under CI load the boot was still in flight at 2
minutes, and
RunnerDisposal's own 30 s idle-wait grace before giving up padded theobserved failure to the reported 2:30. Bounded to 3 minutes to match
TheoryNestedRunnerTests, the smallest change that removes the tight bound without looseninga real signal.
Atlas builds against Vintage Story 1.22.4 through 1.22.7 again (the 1.22.4 API annotated
the inventory indexer as nullable, which the compile treated as errors: a guarded read in
TestPlayer.GiveItemand null-forgiving reads in the rollback tests). The per-push CImatrix gains a 1.22.7 lane (latest stable); 1.22.4 through 1.22.6 join the weekly sweep.
Caught by an on-demand sweep the day the gap was noticed: all four versions verdicted
"incompatible (API)" on what turned out to be seven nullability diagnostics.
Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions