Skip to content

feat: test utilities script including Playmode test helpers #484

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
Apr 28, 2022

Conversation

fernando-cortez
Copy link
Collaborator

Description (*)

This PR is part of the greater task to introduce an end-to-end hosting test to Boss Room.

Specifically, here a test tools script has been added which will be reused inside Playmode tests and/or editor tests. This script (and asmdef) has been added to the Utilities folder inside the project's package for potential reuse outside this project.

Existing Runtime and Editor test asmdefs have been renamed for naming consistency as well.

Related Pull Requests

Issue Number(s) (*)

Fixes issue(s): MTT-2414. The next PR will be the actual end-to-end Playmode test. 👀

Contribution checklist

  • Pull request has a meaningful description of its purpose
  • All commits are accompanied by meaningful commit messages
  • All new or changed code is covered with unit/integration tests (if applicable)
  • All automated tests passed successfully (all builds are green)

@fernando-cortez fernando-cortez added the 1-Needs Review PR needs attention from the assignee and reviewers label Feb 16, 2022
Copy link
Contributor

@LPLafontaineB LPLafontaineB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

naming nitpick aside, lgtm

@fernando-cortez fernando-cortez marked this pull request as draft February 22, 2022 15:32
@fernando-cortez fernando-cortez marked this pull request as ready for review February 22, 2022 22:18
LPLafontaineB
LPLafontaineB previously approved these changes Feb 23, 2022
@SamuelBellomo
Copy link
Contributor

beside two comments, looks good

@SamuelBellomo SamuelBellomo added the 2-Reviewed with Comments PR requires owner's attention label Mar 1, 2022
@SamuelBellomo SamuelBellomo added 4-On Hold PR can't proceed because it's blocked or is otherwise waiting on something. and removed 4-On Hold PR can't proceed because it's blocked or is otherwise waiting on something. labels Apr 6, 2022
@fernando-cortez fernando-cortez removed the 2-Reviewed with Comments PR requires owner's attention label Apr 19, 2022
Base automatically changed from fix/scenebootstrapper-unblocking-test-runner to develop April 26, 2022 18:13
LPLafontaineB
LPLafontaineB previously approved these changes Apr 27, 2022
LPLafontaineB
LPLafontaineB previously approved these changes Apr 27, 2022
@LPLafontaineB LPLafontaineB added 2-One More Review One review in, one to go and removed 1-Needs Review PR needs attention from the assignee and reviewers labels Apr 28, 2022
@LPLafontaineB LPLafontaineB added 3-Good to Merge and removed 2-One More Review One review in, one to go labels Apr 28, 2022
@fernando-cortez fernando-cortez merged commit eef5e8d into develop Apr 28, 2022
@fernando-cortez fernando-cortez deleted the feature/test-utils branch April 28, 2022 17:36
SamuelBellomo added a commit that referenced this pull request Apr 28, 2022
* develop:
  generated files as well
  tmp commit for merge
  feat: test utilities script including Playmode test helpers (#484)
  feat: bump to pre.8 and fix compile issues [MTT-3413] (#631)
  feat: client network transform move to samples [MTT-3406] (#629)
  feat: in-game message feed [MTT-2678] [MTT-2318] (#601)
  feat: networked message channel (#605)
  Fixed Z Fighting of Floor Tiles Near Edge of Main Boss Room (#616)
  fix: SceneBootstrapper detects and allows TestRunner launches (#483)
  removed feature to set all players unready in char select when a player leaves or joins (#625)
  removed setting disconnect reason to UserRequested on clients entering post-game (#626)
  Disallowing portait orientation for auto rotation (#627)
  chore: removing QoS (#623)

# Conflicts:
#	Assets/BossRoom/Material/Characters/Character_Shadow.mat
#	Assets/BossRoom/Material/Characters/Enemy_Eyes_sheet.mat
#	Assets/BossRoom/Material/Characters/Enemy_Mouth_sheet.mat
#	Assets/BossRoom/Material/Characters/Hero_Eyes_sheet.mat
#	Assets/BossRoom/Material/Characters/Hero_Mouth_sheet.mat
#	Assets/BossRoom/Material/Characters/Toon/Hair_Mage_Girl.mat
#	Assets/BossRoom/Material/Characters/Toon/Head_Boss.mat
#	Assets/BossRoom/Material/Characters/Toon/Head_Imp.mat
#	Assets/BossRoom/Material/Characters/Toon/Head_Mage_Boy.mat
#	Assets/BossRoom/Material/Characters/Toon/Head_Mage_Girl.mat
#	Assets/BossRoom/Material/Characters/Toon/Head_Rogue_Girl.mat
#	Assets/BossRoom/Material/Characters/Toon/Head_Tank_Boy.mat
#	Assets/BossRoom/Material/Characters/Toon/Torso_Archer.mat
#	Assets/BossRoom/Material/Characters/Toon/Torso_Mage_Boy.mat
#	Assets/BossRoom/Material/Characters/Toon/Torso_Tank.mat
#	Assets/BossRoom/Material/Characters/Toon/Weapons_Archer.mat
#	Assets/BossRoom/Material/Characters/Toon/Weapons_Mage.mat
#	Assets/BossRoom/Material/Dungeon/env_spiderweb.mat
#	Assets/BossRoom/Scenes/BossRoom.unity
#	Assets/BossRoom/Scenes/CharSelect.unity
#	Assets/BossRoom/Scenes/PostGame.unity
#	Assets/BossRoom/Scenes/Startup.unity
#	Assets/BossRoom/URP/UniversalRenderPipelineAsset.asset
#	Assets/BossRoom/URP/UniversalRenderPipelineAsset_Renderer.asset
#	Assets/BossRoom/VFX/Materials/FX_Crystal.mat
#	Assets/BossRoom/VFX/Materials/FX_M_Flame.mat
#	Assets/BossRoom/VFX/Materials/FX_M_Flash_01.mat
#	Assets/BossRoom/VFX/Materials/FX_M_Glow_10.mat
#	Assets/BossRoom/VFX/Materials/FX_M_Glow_12.mat
#	Assets/BossRoom/VFX/Materials/FX_M_GroundCrack_2.mat
#	Assets/BossRoom/VFX/Materials/FX_M_Shockwave.mat
#	Assets/BossRoom/VFX/Materials/FX_M_Slash_01.mat
#	Assets/BossRoom/VFX/Materials/FX_M_Slash_02.mat
#	Assets/BossRoom/VFX/Materials/FX_M_StylizeSmoke_2.mat
#	Assets/BossRoom/VFX/Materials/FX_M_TargetingSphere_InRange.mat
#	Assets/BossRoom/VFX/Materials/FX_M_TargetingSphere_OutOfRange.mat
#	Assets/BossRoom/VFX/Materials/FX_M_TorchFire.mat
#	Assets/BossRoom/VFX/Materials/FX_Slash_01.mat
#	Assets/BossRoom/VFX/Materials/FX_SmokeDissolve.mat
#	Assets/BossRoom/VFX/Materials/FX_SmokeDissolve_Additive.mat
#	Assets/BossRoom/VFX/Materials/FX_Star.mat
#	Assets/BossRoom/VFX/Materials/GroundClick.mat
#	Assets/BossRoom/VFX/Materials/M_Archer_arrow.mat
#	Assets/BossRoom/VFX/Materials/M_MotionFlash.mat
#	Assets/BossRoom/VFX/Materials/TargetReticuleFriendly.mat
#	Assets/BossRoom/VFX/Materials/TargetReticuleHostile.mat
#	Assets/BossRoom/VFX/Materials/fx_mat_Chest.mat
#	Assets/BossRoom/VFX/Materials/fx_mat_GlowLine.mat
#	Assets/BossRoom/VFX/Materials/fx_mat_GlowLine_2.mat
#	Assets/BossRoom/VFX/Materials/spawndoor.mat
#	Assets/UniversalRenderPipelineGlobalSettings.asset.meta
#	Packages/manifest.json
#	Packages/packages-lock.json
#	ProjectSettings/GraphicsSettings.asset
#	ProjectSettings/ProjectSettings.asset
#	ProjectSettings/ProjectVersion.txt
SamuelBellomo added a commit that referenced this pull request Apr 28, 2022
…fooding

* feature/bump-2021:
  material update
  update with right package lock
  generated files as well
  tmp commit for merge
  feat: test utilities script including Playmode test helpers (#484)
  feat: bump to pre.8 and fix compile issues [MTT-3413] (#631)
  feat: client network transform move to samples [MTT-3406] (#629)
  feat: in-game message feed [MTT-2678] [MTT-2318] (#601)
  feat: networked message channel (#605)
  Fixed Z Fighting of Floor Tiles Near Edge of Main Boss Room (#616)
  fix: SceneBootstrapper detects and allows TestRunner launches (#483)
  removed feature to set all players unready in char select when a player leaves or joins (#625)
  removed setting disconnect reason to UserRequested on clients entering post-game (#626)
  Disallowing portait orientation for auto rotation (#627)
  chore: removing QoS (#623)

# Conflicts:
#	Assets/BossRoom/Scenes/Startup.unity
#	Packages/manifest.json
fernando-cortez added a commit that referenced this pull request Jun 23, 2022
* feat: test utilities script including Playmode test helpers (#484)

* feat: hosting and disconnect smoke test for IP flow (#487)

* feat: connection feedback + IP connection window [MTT-2315] [MTT-3234] (#613)

* joining with IP connection window

* simplified cancellation callbacks

* fetching references to IPUIMediator from DI

* connection attempts -> 10, displaying max time instead of attempts

* ip connection window api simplification

* adding popups to connect status message pattern

* generic start host/client messages

* countdown simplification

* First import of all the vandal imp artwork (#637)

* adding test constraint to test asmdef (#639)

* feat: other players loading progress in loading screen [MTT-2239] (#580)

* Adding way to track loading progress of other players
* Removing responsibility of tracking local loading progress from ClientLoadingScreen

Co-authored-by: Fernando Cortez <[email protected]>
Co-authored-by: Sam Bellomo <[email protected]>

* feat: auto reconnect [MTT-2617] (#611)

* Implementing auto-reconnect feature to reconnect to a game if losing connection unexpectedly

* Adding popup that needs to be manually closed for reconnect attempts

* Unload all additive scenes when client begins synchronizing

* chore: bump boss room to 2021 [MTT-3022] (#620)

* initial engine bump

* fix

* adding missing network object on main menu state prefab

* reserialize scenes

* missing changes

* auto generated changes

* initial pass at hooks

* Adding project id detection

* something didn't work, reverting file

* adding git lfs support

* cleanup

* MTT-3022
removing QoS until we have a version that works and compiles for iOS

* bumping to latest LTS

* Anything under ProjectSettings should be versioned.

* Now tracking new settings

* dunno why this was updated automatically, this isn't findable... reverting that change

* setting package-lock as non LFS

* revert adding VP and RNSM to package-lock

* removing file that should be in user settings according to this bug https://youtrack.jetbrains.com/issue/RIDER-76195
bumping Rider package to this new version in the ticket

* tmp commit for merge

* generated files as well

* update with right package lock

* material update

* tmp-do-not-push

* auto version bump in package-lock

* fix: folders and assemblies refactor MTT-2623, MTT-2615 (#628)


* wip refactor of the code folder and assembly structure

* further moves and assembly changes

* Adjustments to asmdefs

* moving scenebootstrapper to re-enable builds (#641)

* feat: adding RNSM (Runtime Network Stats Monitor) to boss room [MTT-3267] (#621)

* chore: formatting pass (#640)

* quick formatting pass over codebase

* manually adding 'non-indented brace after case' rule

* formatted 2 files with braces in cases

* chore: bump NGO to pre.9 (#643)

* Fixing 2021 new serialization and adding default namespace to editor settings (#642)

* adding default namespace to editor settings

* new serialization with materials

* missing mat changes

* chore: Yamato jobs to trigger format & UPM project pack (#489)

* formatting yamato job and dotnet format project

* trigger job added to pack and test projects

* reordered project versions so 2020.3 is tested first

* removing legacy blocker on ubuntu

* mobile build & run tests added & triggered by PRs

* adding reference to project metafile

* dependency file name fix

* reordering name

* android commands syntax fixed

* job name definition descriptor

* name for build file

* adding matching build jobs for running jobs

* reference to project metafile

* using project path as name

* updated build params

* burst compilation removed on android, ios utr url param

* disable burst .py file

* shifting order of operations

* test: using ngo params

* python script enabling/disabling burst fixed, cleanup

* specifying test filter

* adding testfilter to builds and runs

* android image change

* utr command param update for playerconnection

* utr version?

* project name addition

* adding editor path

* testing building with utr 0.12.0 as well

* formatting test

* joined mobile build and run to single yml file

* format

* test editors 2021 & trunk

* just 2021

* adding testfilter for only bossroom tests

* removing testfilter on packing

* fix to hanging tests

* code source added

* formatting files from RNSM PR

* chore: adding template instructions and updating how we update our changelogs (#649)

* Removing changelog from package and updating it with real changes for that particular package
Adding real changelog for the whole project at the root of the project
Updating the PR template with reminders to update tests and changelogs

* adding current changelog

* feat: change profile in-game [MTT-2809] (#636)

* Added a simple popup window to select a profile

* Created profiles are saved and can be loaded in ulterior runs

Co-authored-by: Sam Bellomo <[email protected]>

* chore: remove UNET [MTT-3435] (#638)

* removed references to unet in code, prefabs and architecture.md

* removing TransportPicker

* fix: not enough progress bars exception [MTT-3499] (#644)

* clearing out loading progress bars when other clients disconnect

* Adding internal class to remove the need to remove and re-add callbacks each time

* Adding basic player names to ClientLoadingScreen to simplify inheritance

* Refactor: Shader and Material Consolidation [MTT-2900] (#648)

* First go at re-organizing / cleaning house of all of our VFX materials and shaders, as well as cleaning up some references and making changes to prefabs to support these changes

* Another pass on the shader consolidation, more renames, as well as optimization of the bounds for the torch fire effect. also some reserialization of character toon materials

* Reserialization of these mats

* Renamed this to match my shadergraph naming convention

* Recommiting M_Lava to hopefully fix yamato test issue

* Fixed up a bunch of broken references--I think I should've saved the project before committing to make sure I had all the meta files and references the refactor needed. Also cleared some node behaviour change notices that were popping up in the console

* docs: update architecture.md for transport picker removal (#651)

* updated the Architecture.md file to reflect the removal of TransportPicker

* updated changelog

* fix: remove initial ugs popup [MTT-3563] (#650)

* renaming start buttons

* removing initial ugs popup

* Adding tooltip for UGS setup

* Made TooltipDelay into a serialized field instead of a constant

* set tooltip delay for UGS setup info to 0 and increased text size

* Extracted main menu UI canvas into prefab

Co-authored-by: Sam Bellomo <[email protected]>

* docs: update readmes for new flow [MTT-3573] (#652)

* Updated Readme to explicitly mention that boss room can function without UGS

* unregister profile manager callback when leaving main menu (#655)

* fix: loading progress bars mismatch (#654)

* making sure the right progress bars are deactivated and activated when starting a new loading screen

* feat: scene parenting: editor time child scene loader for composed scenes (#653)

adding this to the boss room main scene

* feat: Bumping relay version with qos (#657)

bumping relay version so we now have auto region selection (with the QoS package). This allows selecting the right relay region instead of the default us-central and should reduce latency for non-central folks. (#657)

* fix: auth signin error on startup [MTT-3581] (#658)

* Having LobbyJoiningUI subscribe to the UpdateRunner only when it is shown

* feat: bad network conditions warning [MTT-3242] (#632)

* Adding text warning to UI when UTP RTT is over a threshold

* Added coloring of stats text (becomes yellow after 130ms UTP RTT and red after 200ms)

* Using TMP for NetworkLatencyWarning and increasing font size

* extracted duplicated methods to NetworkOverlay

* increased width of Vetical Layout Group in Debug Overlay Canvas

Co-authored-by: Sam Bellomo <[email protected]>

* fix: reduced scene load timeout (#635)

* WIP CHANGELOG for 1.3.0, cleaned up a few things

* fix: bad network warning not deleted on despawn (#661)

* Modified the click detection collision for the char select portraits (#662)

* Fix: Broken Shader References [MTT-3681] (#663)

* Fixed up some shader reference errors in these materials

* Empty commit to trigger yamato tests

* wrong formatting for changelog

* Adding default formatting for list items

* Fixed Glowing Eyes on Characters on Low Android Settings (#665)

* Fixed Glitchy Boss Room Title in Post Game Scene on Mobile (#664)

* fix: no popup when incompatible build types [MTT-3689] (#667)

* feat: structure refactor (1): asmdefs and folder changes [MTT-2623] (#668)

* Moved files, created new asmdefs, decoupled systems via messaging

* switched all asmdefs to use GUIDs for better durability when refactoring

* simplified very long asmdef names

* code standards pass

* code standards #

* uniform Unity.BossRoom._ naming for asmdefs

* folder rearrangement and rename

* Update Assets/BossRoom/Scripts/ApplicationLifecycle/ApplicationController.cs

Co-authored-by: Sam Bellomo <[email protected]>

* feat: structure refactor (2) remove bossroom folder [MTT-2623] (#669)

* Moved files, created new asmdefs, decoupled systems via messaging

* switched all asmdefs to use GUIDs for better durability when refactoring

* simplified very long asmdef names

* code standards pass

* code standards #

* uniform Unity.BossRoom._ naming for asmdefs

* folder rearrangement and rename

* Update Assets/BossRoom/Scripts/ApplicationLifecycle/ApplicationController.cs

* bossroom folder removed

Co-authored-by: Sam Bellomo <[email protected]>

* removed redundant bossroom/scripts and fixed the paths to scenes in build settings (#673)

* feat: structure refactor (3) gameplay and infrastructure cleanup [MTT-2623] (#674)

* Infrastructure and Gameplay folder and assembly refactor

* added reference to utils asmdef from applicationcontroller.asmdef

* Docs: Readme Image Updates [Skip CI] (#680)

* Updated the images in the readme since they were pre URP port :)

* commit to skip tests, only a docs change

* format: RotationLerper format fix (#681)

* fix: profile management UX [MTT-3762] (#677)

* Adding information about changing profile for IP-based connections too

* clarified how to create a new profile if no profiles exist

Co-authored-by: Sam Bellomo <[email protected]>

* feat: NetworkRigidbody-based toss action [MTT-2333] (#671)

* feat: bumping to pre.10 (#678)

* bumping to pre.10
Fixing connection approval with new API
updating comments to better reflect current state

* adding changelog

* Fix for new API breaking change

* Removing useless ForceNetworkSerializeByMemcpy for FixedString32Bytes
Update changelog

* updating utilities package version as well

* changing syntax in Utilities package to be supported by C#8.0

* removing old UTP adapter reference from assembly definition

* Adding tools as a dependency in Utilities package

* reverting bump to 2021 in utilities package supported unity version

* Creating new asmdef for scripts using RNSM requiring Unity 2021

* adding eof character

* updated changelog

* updating changelogs for release

Co-authored-by: LPLafontaineB <[email protected]>

Co-authored-by: Jil Franco <[email protected]>
Co-authored-by: LPLafontaineB <[email protected]>
Co-authored-by: Sam Bellomo <[email protected]>
Co-authored-by: Philipp Deschain <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants