Commit Graph

54 Commits

Author SHA1 Message Date
Pieter-Jan Briers bebc077fcc
MapRenderer code fixes (#38357)
* Fix MapRenderer integration test usage to properly show output.

Added an ITestContextLike interface that can be used to properly run the integration test infrastructure OUTSIDE A TEST.

* Use System.Test.Json instead of Newtonsoft.Json for MapRenderer

* Fix map renderer JSON output being broken

I love not testing or even reading the surrounding code.

* Fix un-reusable integration instances getting leaked.

The pair state was always getting set to Ready even if the instance was killed, meaning it was getting put back into the pool even if killed.

* Mark map renderer integration instances as destructive to avoid memory leak.

* Fix file specification handling.

Map file specification is now backwards compatible again (loose filename match to search prototypes). It also supports proper direct OS filename arguments. The former is the fallback scenario is extremely important for the map server still.

Cleaned up the way that target map files are passed through the application, so mixed file/prototype specifications are now handled properly (which can be caused by the fallback behavior).

Fixes JSON data export to use the proper user-facing map name. This only works if a prototype ID is specified *or* the legacy file behavior is used.

Restructured MapPainter into an instance that has multiple functions called on it, so not all data has to be passed through a single Paint() call.

Clean up the godawful map/grid detection code. Now we just load both in a single call, because yes you can do that. This relies on LogOrphanedGrids = false in the map loader options, which I think is fine for our purposes.

Improved error handling in much of the program.

* Fix duplicate map names in map renderer output

I'm not sure *what* this output is used for, but I'm sure having it duplicated per grid isn't intentional.

* Make maprenderer command line parsing bail on unknown - options

* Fix incorrect docs for --viewer maprenderer argument

It doesn't change directory layout

* Fix parallax layer specification to not use imgur as a fucking CDN

Files are now copied to a separate folder _parallax, and these files are referenced by the parallax configuration.

Parallax data is only output when instructed to via --parallax.

This will break parallax on current map server builds, but it should be graceful. Also, that's fucking good considering we shouldn't be using imgur links. Purge it.

* Fix incorrect assert in test pair clean return

* Restore other map viewer parallax layers, fix attribution.

* This isn't a valid copyright statement but the validator forces me to enter something here.
2025-06-26 14:47:39 +02:00
Pieter-Jan Briers f9a722a87e
Test parallelization stuff. (#31650)
This is the content analogue of https://github.com/space-wizards/RobustToolbox/pull/5412

Made Content.Tests run tests parallelized, which doesn't really seem to matter much.

I tried to make Content.IntegrationTest more aggressively parallelized but ran into https://github.com/dotnet/runtime/issues/107197 so we need to shelve that. Added a comment explaining as such.
2024-09-01 03:28:30 +02:00
Leon Friedrich 8a4ef69e86
Add random seed options to tests (#30735)
* Add random seed options to tests

* Ensure profile randomization
2024-08-09 15:25:43 +10:00
Leon Friedrich 27e63f5919
Make tests automatically reset modified cvars (#28219)
* Make tests automatically reset modified cvars

* Fix bad return

* A

* Try Fix tests

* clarify comment

* update eng
2024-05-31 12:44:35 +10:00
deltanedas 492ccc93d0
fix antag selection being evil (#28197)
* fix antag selection being evil

* fix test

* untroll the other tests

* remove role timer troll

* Allow tests to modify antag preferences

* Fix antag selection

* Misc test fixes

* Add AntagPreferenceTest

* Fix lazy mistakes

* Test cleanup

* Try stop players in lobbies from being assigned mid-round antags

* ranting

* I am going insane

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2024-05-26 01:14:29 -04:00
Leon Friedrich 6e83c4d570
Update component query benchmarks (#27967)
* Add more component query benchmarks.

* Rename benchmark
2024-05-19 11:55:10 +10:00
Jake Huxell 59e46aab93
Reduced Warning Count By 130 For Full Rebuilds (#26518)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50

* final toCoords Removed

* Remove all unused variables and dead code paths

* remove always true variable, should be a cvar or something instead

* remove superfluous variables from tests
2024-03-29 16:28:16 +11:00
Pieter-Jan Briers a6c9c36b68
Dependency update / fixes / skrungle bungle (#23745)
* Give .props files 2-space indents.

* Move to Central Package Management.

Allows us to store NuGet package versions all in one place. Yay!

* Update NuGet packages and fix code for changes.

Notable:

Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.

* Remove dotnet-eng NuGet package source.

I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.

* Remove Robust.Physics project.

Never used.

* Remove erroneous NVorbis reference.

Should be VorbisPizza and otherwise wasn't used.

* Sandbox fixes

* Remove unused unit test package references.

Castle.Core and NUnit.ConsoleRunner.

* Update NUnit to 4.0.1

This requires replacing all the old assertion methods because they removed them 🥲

* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.

* Add Robust.Analyzers.Test

* Update submodule

* commit to re-run CI
2024-01-12 23:22:01 +01:00
metalgearsloth 30f4a3ca6d
Fix SpawnAndDeleteEntityCountTest heisentest (#21975) 2023-11-30 22:08:08 +11:00
Leon Friedrich 69af567269
Add item sprite test (#21599) 2023-11-18 17:26:08 +11:00
DrSmugleaf 5934c6728f
Replace all T : Component constraints with T : IComponent (#21073) 2023-10-17 19:42:47 -07:00
DrSmugleaf 3f3ba6ac62
Move minds, roles, jobs and objectives to shared (#19679) 2023-08-30 21:46:11 -07:00
Visne 9bd30d57ad
Remove obsolete PoolManager methods (#19499) 2023-08-25 12:13:11 +10:00
Visne 3c667b6f7e
Remove obsolete TestPair.Pair (#19496) 2023-08-25 10:56:51 +10:00
Leon Friedrich 89a287c1fd
Split PoolManager into separate classes. (#19370) 2023-08-22 22:14:01 +10:00
Leon Friedrich 6a45d36457
Fix mind test issues (#18793) 2023-08-07 13:29:10 +10:00
Leon Friedrich 9c84108672
Change default test pooling options. (#18732) 2023-08-06 12:30:28 +10:00
Leon Friedrich d58786faf4
Remove PoolSettings.ExtraPrototypes option (#18678) 2023-08-05 14:16:48 +10:00
Leon Friedrich 6a19c1a0f6
Make some tests use the PoolSettings.InLobby option (#18677) 2023-08-05 12:10:46 +10:00
Leon Friedrich 5a9317027f
Warn on improperly disposed tests. (#18594) 2023-08-03 13:07:21 +10:00
Leon Friedrich 5978c7f5b2
Fast recycle more tests (#18516) 2023-08-02 01:09:25 +10:00
TemporalOroboros ba91023a85
Fix content.integration tests warnings (#17817)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-07-06 14:54:25 +10:00
metalgearsloth 56371c3acb
Docking config changes (#16945)
* Docking config changes

- Should be more flexible with tight bounds.
- Arrivals should always go for the 4-way dock.
- Don't think it fixes Omega.

* weh

* Basic test
2023-06-01 00:09:14 +10:00
metalgearsloth 57858f802f
Shuttle drone improvements (#16931) 2023-05-31 11:13:02 +10:00
Moony e91fc652a3
Dynamic space world generation and debris. (#15120)
* World generation (squash)

* Test fixes.

* command

* o

* Access cleanup.

* Documentation touchups.

* Use a prototype serializer for BiomeSelectionComponent

* Struct enumerator in SimpleFloorPlanPopulatorSystem

* Safety margins around PoissonDiskSampler, cookie acquisition methodologies

* Struct enumerating PoissonDiskSampler; internal side

* Struct enumerating PoissonDiskSampler: Finish it

* Update WorldgenConfigSystem.cs

awa

---------

Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: 20kdc <asdd2808@gmail.com>
2023-05-16 06:36:45 -05:00
Leon Friedrich 5f3d3ecfc1
Add storage fill test (#15758) 2023-04-25 10:30:35 +10:00
Leon Friedrich 29787f3944
Fix tests not failing when errors get logged (#15723) 2023-04-24 16:34:12 +10:00
Leon Friedrich 8af149e61c
Add climb & slip tests (#15459) 2023-04-16 23:07:03 -07:00
Leon Friedrich 489660a6bb
Add interaction tests (#15251) 2023-04-14 12:41:25 -07:00
metalgearsloth f3a06a0696
Add arrivals (#14755)
* Arrivals

* More arrivals and shitty uhh preload

* cvar

* a

* clockin + maps

* shitter prevention

* Placement

* a

* cvar for tests and dev

* weh
2023-03-22 04:29:55 -05:00
Pieter-Jan Briers 33f388e66e
Test pooling diagnostic fixes. (#14349)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-03-11 15:09:41 +11:00
metalgearsloth 86895f9735
Don't preload content maps in tests (#14577) 2023-03-11 12:45:48 +11:00
Pieter-Jan Briers c5b3f62f6f
Update project files for configuration changes. (#14281) 2023-03-06 11:38:07 -08:00
metalgearsloth 54d3f0ee4e
Remove contact pooling cvars (#13054) 2022-12-26 10:56:49 +11:00
Pieter-Jan Briers 584921b423
Move NetBufferSize override hack to integration tests specifically (#12795) 2022-12-20 14:25:03 -08:00
metalgearsloth 3b3963083b
Replace GridEntityId with Owner (#12743) 2022-12-12 14:59:02 +11:00
metalgearsloth 6c76061887
Content changes for mapgrid kill (#12567) 2022-11-22 13:12:04 +11:00
Mervill 40b556d206
Refactor GameMapManager a bit (nukes mapforced) (#11513)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Closes https://github.com/space-wizards/space-station-14/issues/7192
Closes https://github.com/space-wizards/space-station-14/issues/6537
Closes https://github.com/space-wizards/space-station-14/issues/9579
2022-11-08 13:18:21 +11:00
metalgearsloth b29eeb7c16
Fix gamemap name casing (#11474) 2022-10-04 14:33:14 +11:00
wrexbe eb4f01f0db
Tests should always stop (#11338) 2022-09-15 20:17:02 -07:00
wrexbe ea95638189
Improve test stability (#10913) 2022-08-28 15:13:59 -07:00
wrexbe cf84c20f68
Add class name to test history (#10895) 2022-08-27 20:18:42 -07:00
wrexbe 4f7f46590e
Improve test pool messages (#10894) 2022-08-27 19:55:31 -07:00
wrexbe e0de16773f
Kill tests when can't make test pair (#10861) 2022-08-24 20:55:30 -07:00
Leon Friedrich 418a88e760
Fixed PVS changes. (#10740) 2022-08-21 08:32:09 +10:00
Leon Friedrich ff2a67bc74
Revert PVS changes (#10735) 2022-08-21 05:27:41 +10:00
Leon Friedrich 25093f5146
Content changes for engine state-handling & PVS PR (#9273) 2022-08-21 03:38:20 +10:00
wrexbe ba9ee7300d
Added more docs to integration pool manager (#10632) 2022-08-15 20:32:15 -07:00
metalgearsloth 36ba197a25
Turn role timers on by default (#10552) 2022-08-13 14:14:56 +10:00
metalgearsloth a549a85e81
Update tiles to modern standards (#10436) 2022-08-10 17:05:40 +10:00