Skip to content

Commit cfe3cf9

Browse files
Only ignore test selection configured in XML configuration file
1 parent bb142b5 commit cfe3cf9

File tree

3 files changed

+14
-123
lines changed

3 files changed

+14
-123
lines changed

src/TextUI/Configuration/Cli/Builder.php

Lines changed: 2 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -321,60 +321,6 @@ public function fromParameters(array $parameters): Configuration
321321

322322
switch ($option[0]) {
323323
case '--all':
324-
$this->warnWhenOptionsConflict(
325-
$testSuite,
326-
'--all',
327-
'--testsuite',
328-
);
329-
330-
$this->warnWhenOptionsConflict(
331-
$excludeTestSuite,
332-
'--all',
333-
'--exclude-testsuite',
334-
);
335-
336-
$this->warnWhenOptionsConflict(
337-
$groups,
338-
'--all',
339-
'--group',
340-
);
341-
342-
$this->warnWhenOptionsConflict(
343-
$excludeGroups,
344-
'--all',
345-
'--exclude-group',
346-
);
347-
348-
$this->warnWhenOptionsConflict(
349-
$testsCovering,
350-
'--all',
351-
'--covers',
352-
);
353-
354-
$this->warnWhenOptionsConflict(
355-
$testsUsing,
356-
'--all',
357-
'--uses',
358-
);
359-
360-
$this->warnWhenOptionsConflict(
361-
$testsRequiringPhpExtension,
362-
'--all',
363-
'--requires-php-extension',
364-
);
365-
366-
$this->warnWhenOptionsConflict(
367-
$filter,
368-
'--all',
369-
'--filter',
370-
);
371-
372-
$this->warnWhenOptionsConflict(
373-
$excludeFilter,
374-
'--all',
375-
'--exclude-filter',
376-
);
377-
378324
$all = true;
379325

380326
break;
@@ -513,45 +459,21 @@ public function fromParameters(array $parameters): Configuration
513459
break;
514460

515461
case '--filter':
516-
$this->warnWhenOptionsConflict(
517-
$all,
518-
'--filter',
519-
'--all',
520-
);
521-
522462
$filter = $option[1];
523463

524464
break;
525465

526466
case '--exclude-filter':
527-
$this->warnWhenOptionsConflict(
528-
$all,
529-
'--exclude-filter',
530-
'--all',
531-
);
532-
533467
$excludeFilter = $option[1];
534468

535469
break;
536470

537471
case '--testsuite':
538-
$this->warnWhenOptionsConflict(
539-
$all,
540-
'--testsuite',
541-
'--all',
542-
);
543-
544472
$testSuite = $option[1];
545473

546474
break;
547475

548476
case '--exclude-testsuite':
549-
$this->warnWhenOptionsConflict(
550-
$all,
551-
'--exclude-testsuite',
552-
'--all',
553-
);
554-
555477
$excludeTestSuite = $option[1];
556478

557479
break;
@@ -590,12 +512,6 @@ public function fromParameters(array $parameters): Configuration
590512
break;
591513

592514
case '--group':
593-
$this->warnWhenOptionsConflict(
594-
$all,
595-
'--group',
596-
'--all',
597-
);
598-
599515
if ($groups === null) {
600516
$groups = [];
601517
}
@@ -607,12 +523,6 @@ public function fromParameters(array $parameters): Configuration
607523
break;
608524

609525
case '--exclude-group':
610-
$this->warnWhenOptionsConflict(
611-
$all,
612-
'--exclude-group',
613-
'--all',
614-
);
615-
616526
if ($excludeGroups === null) {
617527
$excludeGroups = [];
618528
}
@@ -624,12 +534,6 @@ public function fromParameters(array $parameters): Configuration
624534
break;
625535

626536
case '--covers':
627-
$this->warnWhenOptionsConflict(
628-
$all,
629-
'--covers',
630-
'--all',
631-
);
632-
633537
if ($testsCovering === null) {
634538
$testsCovering = [];
635539
}
@@ -641,12 +545,6 @@ public function fromParameters(array $parameters): Configuration
641545
break;
642546

643547
case '--uses':
644-
$this->warnWhenOptionsConflict(
645-
$all,
646-
'--uses',
647-
'--all',
648-
);
649-
650548
if ($testsUsing === null) {
651549
$testsUsing = [];
652550
}
@@ -658,12 +556,6 @@ public function fromParameters(array $parameters): Configuration
658556
break;
659557

660558
case '--requires-php-extension':
661-
$this->warnWhenOptionsConflict(
662-
$all,
663-
'--requires-php-extension',
664-
'--all',
665-
);
666-
667559
if ($testsRequiringPhpExtension === null) {
668560
$testsRequiringPhpExtension = [];
669561
}
@@ -1508,10 +1400,9 @@ private function markProcessed(string $option): void
15081400
}
15091401

15101402
/**
1511-
* @param null|array<non-empty-string>|bool|string $current
1512-
* @param non-empty-string $option
1403+
* @param non-empty-string $option
15131404
*/
1514-
private function warnWhenOptionsConflict(null|array|bool|string $current, string $option, string $opposite): void
1405+
private function warnWhenOptionsConflict(?bool $current, string $option, string $opposite): void
15151406
{
15161407
if ($current === null) {
15171408
return;

src/TextUI/Configuration/Merger.php

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -750,15 +750,25 @@ public function merge(CliConfiguration $cliConfiguration, XmlConfiguration $xmlC
750750
$excludeFilter = $cliConfiguration->excludeFilter();
751751
}
752752

753+
$ignoreTestSelectionInXmlConfiguration = false;
754+
755+
if ($cliConfiguration->hasAll()) {
756+
$ignoreTestSelectionInXmlConfiguration = true;
757+
}
758+
759+
$groups = [];
760+
753761
if ($cliConfiguration->hasGroups()) {
754762
$groups = $cliConfiguration->groups();
755-
} else {
763+
} elseif (!$ignoreTestSelectionInXmlConfiguration) {
756764
$groups = $xmlConfiguration->groups()->include()->asArrayOfStrings();
757765
}
758766

767+
$excludeGroups = [];
768+
759769
if ($cliConfiguration->hasExcludeGroups()) {
760770
$excludeGroups = $cliConfiguration->excludeGroups();
761-
} else {
771+
} elseif (!$ignoreTestSelectionInXmlConfiguration) {
762772
$excludeGroups = $xmlConfiguration->groups()->exclude()->asArrayOfStrings();
763773
}
764774

@@ -893,12 +903,6 @@ public function merge(CliConfiguration $cliConfiguration, XmlConfiguration $xmlC
893903
$displayDetailsOnSkippedTests = true;
894904
}
895905

896-
$ignoreTestSelectionInXmlConfiguration = false;
897-
898-
if ($cliConfiguration->hasAll()) {
899-
$ignoreTestSelectionInXmlConfiguration = true;
900-
}
901-
902906
return new Configuration(
903907
$cliConfiguration->arguments(),
904908
$configurationFile,

src/TextUI/TestSuiteFilterProcessor.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,6 @@ public function process(Configuration $configuration, TestSuite $suite): void
3131
{
3232
$factory = new Factory;
3333

34-
if ($configuration->ignoreTestSelectionInXmlConfiguration()) {
35-
return;
36-
}
37-
3834
if (!$configuration->hasFilter() &&
3935
!$configuration->hasGroups() &&
4036
!$configuration->hasExcludeGroups() &&

0 commit comments

Comments
 (0)