Skip to content
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

Fix bugs in parent class init/cleanup logic #660

Merged
merged 6 commits into from
Dec 20, 2019

Conversation

NGloreous
Copy link
Contributor

@NGloreous NGloreous commented Nov 19, 2019

Fixing two bugs related to feature #143

  • Call base class cleanup even if top level test class doesn't have class cleanup
  • Fix null ref when a class more than 1 level of inheritance has a class init/cleanup method.

@NGloreous NGloreous changed the title Call base class cleanup even if top level test class doesn't have class cleanup Fix bugs in parent class init/cleanup logic Nov 20, 2019
@NGloreous
Copy link
Contributor Author

@parrainc FYI since this fixes some bugs from your change in case you have feedback.

@MatthewSteeples
Copy link

MatthewSteeples commented Nov 28, 2019

We're seeing some problems with this change (we needed the same fix, so we've got a build of it working). I believe (not 100% sure) that it's changed the order of execution for TestInitialize attributes (still investigating)

The tests work fine locally, but our CI build (running in Azure Pipelines) runs for anything between 30 and 90 minutes, and then either the node is considered unresponsive so is terminated, or we error with

The STDIO streams did not close within 10 seconds of the exit event from process 'd:\a\_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.160.4\Modules\DTAExecutionHost.exe'. This may indicate a child process inherited the STDIO streams and has not yet exited.
##[error]Error: The process 'd:\a\_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.160.4\Modules\DTAExecutionHost.exe' failed with exit code 3221225725

We've updated the Test Tools in use to 16.4 (latest stable) but that doesn't seem to make a difference. Sorry I can't be more help with this. I appreciate you're all on holiday at the moment, so I'm probably going to see what I can find out tomorrow and I'll update this Issue if I find anything

@MatthewSteeples
Copy link

Turns out that the scenario that these changes had enabled for us exposed a flaw in our tests that had runaway memory usage, so the problem was in our code! I think it just exhausted the memory on the Pipeline servers until paging stuff in and out to disk caused them to be unresponsive. When we got it working on a locally installed build agent it topped out at 24gb of RAM in use!

@parrainc
Copy link
Contributor

parrainc commented Dec 4, 2019

@parrainc FYI since this fixes some bugs from your change in case you have feedback.

I think already provided review comments cover pretty much it. For me, it looks good! Thanks for addressing that issue :)

@nohwnd nohwnd self-assigned this Dec 19, 2019
@nohwnd nohwnd merged commit 664ac7c into microsoft:master Dec 20, 2019
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.

5 participants