[x] Visitors will need to return a mapping from CodeBlockListItemSyntax to the original source code + the mutated ones (basically merging the rewriter with visitor)
[x] Refactor rewriter to accomodate the changes from the visitor.
[x] Apply all rewrite everything at once on the temp folder.
For projects that uses xcodebuild build system
[x] Return an error to the user if the command is missing -destination (necessary for test-without-building).
[x] Run the test command line command with build-for-testing (we need to drop test argument from the list, dropLast() can be enough, maybe?)
[x] After the command runs, search for the path Build description path:, parse the -buildRequest.json file in this directory and looks for buildProductsPath key.
[x] Copy the contents of buildProductsPath to the muter's temp folder.
For each mutation schemata:
[x] Parse the .xctestrun file (it's a plist) and update with the current schemata id (dont forget to deactivate the previous one)
[x] Run the test command: xcodebuild -destination ... -xctestrun path test-without-building
[x] Gather, process and store the outcome.
[x] Repeat.
For projects that uses swift build system
[x] Activate/deactivate the schemata by updating Process's environment property.
Changes that needs to be done:
[x] Visitors will need to return a mapping from
CodeBlockListItemSyntax
to the original source code + the mutated ones (basically merging the rewriter with visitor)[x] Refactor rewriter to accomodate the changes from the visitor.
[x] Apply all rewrite everything at once on the temp folder.
For projects that uses
xcodebuild
build system-destination
(necessary fortest-without-building
).build-for-testing
(we need to droptest
argument from the list,dropLast()
can be enough, maybe?)Build description path:
, parse the-buildRequest.json
file in this directory and looks forbuildProductsPath
key.buildProductsPath
to the muter's temp folder.For each mutation schemata:
.xctestrun
file (it's a plist) and update with the current schemata id (dont forget to deactivate the previous one)xcodebuild -destination ... -xctestrun path test-without-building
For projects that uses
swift
build systemProcess
'senvironment
property.--skip-build
.[x] Make sure to test nested mutations.