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

The ambiguous explanation of the test.parallelExecutionLimit and the test.parallelExecutionOfExecutableLimit #416

Closed
5 tasks done
suikan4github opened this issue Dec 31, 2023 · 5 comments

Comments

@suikan4github
Copy link

Checklist

  • The issue is about this extension and NOT about a fork.
  • Checked the ALL the SUPPORT document.
  • The latest version of the extension was used.
  • It is not related to remote-vscode or I checked the following issue
  • Imagine yourself into my position and think how hard to debug the issue without insufficient information.
    I understand that you have privacy concerns and I expect you to understand that this extension is developed for free.
    Thanks.

Describe the bug
This is considered a documentation problem.

The explanation of the test.parallelExecutionLimit and the test.parallelExecutionOfExecutableLimit are ambiguous. In other words, the difference of both settings is not clear.

In the README, the explanation is like this :

testMate.cpp.___ Description
test.parallelExecutionLimit Maximizes the number of the parallel test executions.
test.parallelExecutionOfExecutableLimit Maximizes the number of the parallel execution of executables.

Sorry to say, I can not understand what that means. I have read the source, too. But I could not understand ( I am not familiar with the typescript ).

I guess, these might be re-written as :

testMate.cpp.___ Description
test.parallelExecutionLimit Maximum parallel execution number of a single executable.
test.parallelExecutionOfExecutableLimit Maximum total parallel execution number of multiple executables.

To test my guess, I need a multiple executable test set. But I don't have it. So, this is just a guess.

I appreciate it if you made it clear.

To Reproduce
No. This is considered a documentation problem.

Screenshots (optional)
This is a screenshot of the README.
image

Desktop

  • Extension Version: 4.8.0
  • VS Code Version: 1.85.1
  • Google Test Version: 1.10.0
  • OS Type and Version: Windows 11
  • Using wsl?: Yes.

Regression bug?
No.

@matepek
Copy link
Owner

matepek commented Dec 31, 2023

Hello,

Sure, let's discuss it. I'm happy if we can improve this.

Let me ask you a question just to make sure we have the same understanding on some basics.

What is a test and what is an executable and what is the relationship between them for you?

@suikan4github
Copy link
Author

Hi.

I am a GoogleTest user. So,

  • Test: A unit test.
  • Executables: An executable file on Windows or Linux.

In my case, an executable file contains multiple unit tests.

@Ext3h
Copy link

Ext3h commented Jan 22, 2024

test.parallelExecutionLimit: Maximizes the number of the parallel test executions.

Maximum number of parallel executions of the same test executable. This does not further distinguish between different test cases or permutations / iterations of the same test case.

Limit this if you have resources which are instantiable only a limited number of times per test executable.

Warning: There is no concept of resource groups spanning multiple executables!

test.parallelExecutionOfExecutableLimit: Maximizes the number of the parallel execution of executables.

(Global) total number of parallel executions of any test executable.

This is the number of processes which will be running concurrently at peak.


Additional processes will only be spawned when both the total number of concurrent processes is below test.parallelExecutionOfExecutableLimit and the number of concurrent processes spawned from the target executable is under test.parallelExecutionLimit.

@suikan4github
Copy link
Author

Thank you very much. This is clear and easy to understand.

@matepek
Copy link
Owner

matepek commented Feb 7, 2024

This is not correct. Ah, I definitely should clear this up..

test.parallelExecutionLimit

Maximum parallel run of tasks. Tasks are 'running a set of tests', 'test executable discovery' and 'reload of the executable's test list'. NOTE: If your executables depend on the same resource exclusively then this could cause a problem.

test.parallelExecutionOfExecutableLimit

Maximum number of execution of the same executable. With this config it can be allowed that one executable is running at the same time as multiple processes and those processes 'running a set of tests' parallel. Useful if one executable has a lot of tests which can be run parallel. It won't have effect unless the test.parallelExecutionLimit is adjusted too. To enable this just for specific executables use the testMate.cpp.test.advancedExecutables -> parallelizationLimit. NOTE: if your test cases depend on the same resource exclusively then this could cause a problem.

I hope it's clear now. I will update the docs

@matepek matepek closed this as completed Feb 7, 2024
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

No branches or pull requests

3 participants