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

Large subtest qty freezes some UI elements #21339

Closed
Yoyokrazy opened this issue May 30, 2023 · 2 comments · Fixed by #21351
Closed

Large subtest qty freezes some UI elements #21339

Yoyokrazy opened this issue May 30, 2023 · 2 comments · Fixed by #21351
Assignees
Labels
area-testing bug Issue identified by VS Code Team member as probable bug

Comments

@Yoyokrazy
Copy link

Yoyokrazy commented May 30, 2023

Testing #21306

subtest with range (0, 10k) caused a number of UI elements to freeze while running, most apparent when resizing the window.

*note: all actions resolve and render properly immediately upon test completion

image image

While the 10k subtests are running, the window cannot be closed nor reloaded. UI elements can be interacted with, but nothing happens other than visually showing that they were clicked upon.

ex: folders showing as expanded, but not showing contents
image

other graphical issues
image

@github-actions github-actions bot added the triage-needed Needs assignment to the proper sub-team label May 30, 2023
@Yoyokrazy
Copy link
Author

1st run = success
2nd run = failure + no running
run with debug after first =
image

@eleanorjboyd
Copy link
Member

What I think is happening is it is sending a test_id per subtest but all the subtests have the same test_id. Therefore if there are 100 subtests, it is running 100 subtests, 100 times since it is running the subtest parent 100 times. This will be fixed if only unique test_ids are passed into the run command so then it will run the list of subtests only a single time. Here is a display of the logs, you can see it runs a single test first then attempts to run 100.

python /Users/eleanorboyd/.vscode-insiders/extensions/ms-python.python-2023.9.11491011/pythonFiles/unittestadapter/discovery.py --port 64192 --uuid cf44fb3a-baf9-49a2-aa74-201e08ad72e2 --udiscovery -v -s . -p test_*.py
python /Users/eleanorboyd/.vscode-insiders/extensions/ms-python.python-2023.9.11491011/pythonFiles/unittestadapter/execution.py --port 64192 --uuid e4ad7d0b-e7f8-4ede-8fbb-870a67e4df11 --testids test_subtests.NumbersTest.test_even --udiscovery -v -s . -p test_*.py
.
----------------------------------------------------------------------
Ran 1 test in 0.091s

OK
python /Users/eleanorboyd/.vscode-insiders/extensions/ms-python.python-2023.9.11491011/pythonFiles/unittestadapter/discovery.py --port 64192 --uuid 22a6d774-a419-4e10-bc21-c8e095a52298 --udiscovery -v -s . -p test_*.py
python /Users/eleanorboyd/.vscode-insiders/extensions/ms-python.python-2023.9.11491011/pythonFiles/unittestadapter/execution.py --port 64192 --uuid 39a5d687-e14a-4bdf-9e18-fcf2b9ffd45a --testids test_subtests.NumbersTest.test_even --udiscovery -v -s . -p test_*.py
.
----------------------------------------------------------------------
Ran 1 test in 0.001s

OK
python /Users/eleanorboyd/.vscode-insiders/extensions/ms-python.python-2023.9.11491011/pythonFiles/unittestadapter/execution.py --port 64192 --uuid a4e94e4a-b5a5-48b9-ba5f-257efee1d613 --testids test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even test_subtests.NumbersTest.test_even --udiscovery -v -s . -p test_*.py
.....................................................................................................
----------------------------------------------------------------------
Ran 101 tests in 0.082s

OK

@github-actions github-actions bot added the info-needed Issue requires more information from poster label May 30, 2023
eleanorjboyd added a commit that referenced this issue May 31, 2023
this will partially remediate
#21339 in regards to
the duplicate IDs being run.
@eleanorjboyd eleanorjboyd added bug Issue identified by VS Code Team member as probable bug area-testing and removed info-needed Issue requires more information from poster triage-needed Needs assignment to the proper sub-team labels Jun 1, 2023
eleanorjboyd added a commit that referenced this issue Jun 5, 2023
follows the same steps as making pytest compatible with large workspaces
with many tests. Now test_ids are sent over a port as a json instead of
in the exec function which can hit a cap on # of characters. Should fix
#21339.
eleanorjboyd added a commit to eleanorjboyd/vscode-python that referenced this issue Jun 5, 2023
follows the same steps as making pytest compatible with large workspaces
with many tests. Now test_ids are sent over a port as a json instead of
in the exec function which can hit a cap on # of characters. Should fix
microsoft#21339.
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 6, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-testing bug Issue identified by VS Code Team member as probable bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants