-
-
Notifications
You must be signed in to change notification settings - Fork 512
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
Support XCTest Plan use cases in tuist test
#5080
Comments
Hola 👋, We want to inform you that the issue has been marked as stale. This means that there hasn't been any activity or updates on it for quite some time, and it's possible that it may no longer be relevant or actionable. |
Hola 👋, We want to inform you that we have decided to close this stale issue as there hasn't been any activity or response regarding it after marking it as stale. We understand that circumstances may have changed or priorities may have shifted, and that's completely understandable. If you still believe that this issue needs to be addressed, please feel free to reopen it and provide any necessary updates or additional information. We appreciate your understanding and look forward to your continued contributions to the project. Thank you. |
This is not stale and still being worked on in #5135, reopening. |
What happened?
Currently, we are seeing following issues with
tuist test
when we switch to XCTest Plans from normal test bundles.Issue 1 - Tests scheme is not identified by
tuist test
commandtuist test
is unable to identify main/default scheme which was working fine when test bundles were used directly (before migrated to XCTest Plans). Tuist seems to include another (new) scheme in this case which can work fine but consumers have to update CI to adopt new scheme. It would be great if it can continue to work with existing scheme.Notes:
xcodebuild
can identify the original scheme fineSolution:
Issue # 1 is just a bug and can be solved in current workflow
Issue 2 - Improve
tuist test
to support XCTest Plans argumentsXCTest Plans can be setup with multiple configurations but
xcodebuild
will run all tests in a test plan against each configuration which could be time wasting in many cases. We would want to only run a default or selected configuration for a test plan. Currently xcodebuild only supports one-testPlan
argument which means you cannot run multiple plans at a time so it simplifies our use casesSo, we need to support:
-testPlan
test plan that you want to run-only-test-configuration
a list of configurations in specified test plan that you want to run (note that we will have to repeat-only-test-configuration
for each config when passing this param to xcodebuild internally)-skip-test-configuration
a list of configurations in specified test plan that you want to skip (note that we will have to repeat-skip-test-configuration
for each config when passing this param to xcodebuild internally)Note: Normally users would either want to use
-only-test-configuration
or-skip-test-configuration
but we need to support both.Solution:
Issue # can be solved in 2 ways (suggestions are welcome)
additionalParams
param intuist test
which can be passed toxcodebuild
as is. This can give users a greater control over the build process but can also introduce conflicts with Tuist's internal logic. For example, caching mayn't work as expectedtuist test
command and configurexcodebuild
internally. This is less controlling for users and might require future maintenance or adoption of new use casesIt was suggested in this slack thread that we can use approach # 1.
Note: Xcode 14.3 will enable test plans by default and will convert schemes to provide a default plan which means we should probably be ready for this migration sooner than later.
How do we reproduce it?
tuist test
command for existing scheme - you will see that scheme is not found even though it exists in generated projecttuist test
currently don't support use cases in issue # 2Error log
macOS version
12.0
Tuist version
3.16.0
Xcode version
14.2
The text was updated successfully, but these errors were encountered: