Skip to content

Commit cc35f55

Browse files
committed
fix: respect go test flags usage
1 parent c107653 commit cc35f55

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

extension/src/testUtils.ts

+12-12
Original file line numberDiff line numberDiff line change
@@ -545,11 +545,14 @@ export function computeTestCommand(
545545
addJSONFlag: boolean | undefined; // true if we add extra -json flag for stream processing.
546546
} {
547547
const args: Array<string> = ['test'];
548+
const outArgs: Array<string> = ['test']; // command to show
548549
// user-specified flags
549550
const argsFlagIdx = testconfig.flags?.indexOf('-args') ?? -1;
550551
const userFlags = argsFlagIdx < 0 ? testconfig.flags : testconfig.flags.slice(0, argsFlagIdx);
551552
const userArgsFlags = argsFlagIdx < 0 ? [] : testconfig.flags.slice(argsFlagIdx);
552553

554+
args.push(...targets);
555+
553556
// flags to limit test time
554557
if (testconfig.isBenchmark) {
555558
args.push('-benchmem', '-run=^$');
@@ -587,32 +590,29 @@ export function computeTestCommand(
587590
// all other test run/benchmark flags
588591
args.push(...targetArgs(testconfig));
589592

590-
const outArgs = args.slice(0); // command to show
591-
592593
// if user set -v, set -json to emulate streaming test output
593594
const addJSONFlag = (userFlags.includes('-v') || testconfig.goTestOutputConsumer) && !userFlags.includes('-json');
594595
if (addJSONFlag) {
595596
args.push('-json'); // this is not shown to the user.
596597
}
597598

598-
if (targets.length > 4) {
599-
outArgs.push('<long arguments omitted>');
600-
} else {
601-
outArgs.push(...targets);
602-
}
603-
args.push(...targets);
604-
605599
// ensure that user provided flags are appended last (allow use of -args ...)
606600
// ignore user provided -run flag if we are already using it
607601
if (args.indexOf('-run') > -1) {
608602
removeRunFlag(userFlags);
609603
}
610604

611605
args.push(...userFlags);
612-
outArgs.push(...userFlags);
613-
614606
args.push(...userArgsFlags);
615-
outArgs.push(...userArgsFlags);
607+
608+
// build outArgs
609+
if (targets.length > 4) {
610+
outArgs.push('<long arguments omitted>');
611+
} else {
612+
outArgs.push(...targets);
613+
}
614+
615+
outArgs.push(...args.slice(targets.length + 1));
616616

617617
return {
618618
args,

0 commit comments

Comments
 (0)