Skip to content

Commit b41036f

Browse files
committed
Fix some local failures
1 parent 70bcfa5 commit b41036f

File tree

13 files changed

+147
-36
lines changed

13 files changed

+147
-36
lines changed

assets/test/.vscode/tasks.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"command": "command_plugin",
3636
"args": ["--foo"],
3737
"cwd": "command-plugin",
38+
"disableSandbox": true,
3839
"problemMatcher": [
3940
"$swiftc"
4041
],

docker/sandbox.sb

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,19 +97,28 @@
9797
(path "/private/var/run/mDNSResponder")
9898
(remote tcp4 "*:443")
9999
(remote tcp4 "*:3128")
100+
; (local tcp4 "*:*") ; CodeLLDB
100101
)
101102

102-
; Open VSCode window
103-
(allow file-ioctl)
104-
; (allow file-issue-extension)
105-
(allow iokit-open-user-client)
106-
; (allow system-fsctl) ; HFSIOC_SET_HOTFILE_STATE
103+
; CodeLLDB
104+
; (allow network-bind
105+
; (local tcp4 "*:*")
106+
; )
107+
; (allow network-inbound
108+
; (local tcp4 "*:*")
109+
; )
107110

108111
; VSCode sockets
109112
(allow network*
110113
(param-regex "workspace" "/ud/1\.[0-9]+-main\.sock")
111114
)
112115

116+
; Open VSCode window
117+
(allow file-ioctl)
118+
; (allow file-issue-extension)
119+
(allow iokit-open-user-client)
120+
; (allow system-fsctl) ; HFSIOC_SET_HOTFILE_STATE
121+
113122
; VSCode terminal
114123
(allow pseudo-tty)
115124

docker/test-macos.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ function cleanup {
3737
rm -rf "$USER_DATA"
3838
}
3939
trap "cleanup" EXIT
40+
trap "cleanup" INT
4041

4142
curl -O "https://nodejs.org/dist/v$NODE_VERSION/$NODE_ARCHIVE"
4243
curl -O "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt"
@@ -76,6 +77,11 @@ npm run lint
7677
npm run format
7778
npm run package
7879

80+
# Ignore hooks when running locally for development
81+
export GIT_CONFIG_COUNT=1
82+
export GIT_CONFIG_KEY_0="core.hookspath"
83+
export GIT_CONFIG_VALUE_0="$PWD/hooks"
84+
7985
# Need to set proxy to download VS Code
8086
export npm_config_https_proxy="$HTTPS_PROXY"
8187
VSCODE_DATA_DIR="$USER_DATA" CI=1 FAST_TEST_RUN=1 npm run coverage -- --coverage-output "$PWD/coverage"

src/commands/dependencies/unedit.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,12 @@ async function uneditFolderDependency(
4444
) {
4545
try {
4646
const uneditOperation = new SwiftExecOperation(
47-
["package", "unedit", ...args, identifier],
47+
ctx.toolchain.buildFlags.withAdditionalFlags([
48+
"package",
49+
"unedit",
50+
...args,
51+
identifier,
52+
]),
4853
folder,
4954
`Finish editing ${identifier}`,
5055
{ showStatusItem: true, checkAlreadyRunning: false, log: "Unedit" },

src/commands/dependencies/useLocal.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,13 @@ export async function useLocalDependency(
5050
folder = folders[0];
5151
}
5252
const task = createSwiftTask(
53-
["package", "edit", "--path", folder.fsPath, identifier],
53+
ctx.toolchain.buildFlags.withAdditionalFlags([
54+
"package",
55+
"edit",
56+
"--path",
57+
folder.fsPath,
58+
identifier,
59+
]),
5460
"Edit Package Dependency",
5561
{
5662
scope: currentFolder.workspaceFolder,

src/commands/resetPackage.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ export async function resetPackage(ctx: WorkspaceContext) {
3535
*/
3636
export async function folderResetPackage(folderContext: FolderContext) {
3737
const task = createSwiftTask(
38-
["package", "reset"],
38+
folderContext.workspaceContext.toolchain.buildFlags.withAdditionalFlags([
39+
"package",
40+
"reset",
41+
]),
3942
"Reset Package Dependencies",
4043
{
4144
cwd: folderContext.folder,

src/tasks/SwiftTaskProvider.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,8 +449,7 @@ export class SwiftTaskProvider implements vscode.TaskProvider {
449449
platform = task.definition.macos;
450450
}
451451
// get args and cwd values from either platform specific block or base
452-
let args = platform?.args ?? task.definition.args;
453-
args = toolchain.buildFlags.withAdditionalFlags(args);
452+
const args = platform?.args ?? task.definition.args;
454453
const env = platform?.env ?? task.definition.env;
455454
const fullCwd = resolveTaskCwd(task, platform?.cwd ?? task.definition.cwd);
456455

test/integration-tests/extension.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { WorkspaceContext } from "../../src/WorkspaceContext";
1717
import { getBuildAllTask } from "../../src/tasks/SwiftTaskProvider";
1818
import { SwiftExecution } from "../../src/tasks/SwiftExecution";
1919
import { activateExtensionForTest } from "./utilities/testutilities";
20+
import { expect } from "chai";
2021

2122
suite("Extension Test Suite", () => {
2223
let workspaceContext: WorkspaceContext;
@@ -48,8 +49,8 @@ suite("Extension Test Suite", () => {
4849
assert(folder);
4950
const buildAllTask = await getBuildAllTask(folder);
5051
const execution = buildAllTask.execution as SwiftExecution;
51-
assert.strictEqual(buildAllTask.definition.type, "swift");
52-
assert.strictEqual(buildAllTask.name, "swift: Build All (defaultPackage)");
52+
expect(buildAllTask.definition.type).to.equal("swift");
53+
expect(buildAllTask.name).to.include("Build All (defaultPackage)");
5354
for (const arg of ["build", "--build-tests", "--verbose"]) {
5455
assert(execution?.args.find(item => item === arg));
5556
}

test/integration-tests/tasks/SwiftPluginTaskProvider.test.ts

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import {
3030
} from "../../utilities/tasks";
3131
import { mutable } from "../../utilities/types";
3232
import { SwiftExecution } from "../../../src/tasks/SwiftExecution";
33+
import { SwiftTask } from "../../../src/tasks/SwiftTaskProvider";
3334

3435
suite("SwiftPluginTaskProvider Test Suite", function () {
3536
let workspaceContext: WorkspaceContext;
@@ -61,17 +62,20 @@ suite("SwiftPluginTaskProvider Test Suite", function () {
6162
const tasks = await vscode.tasks.fetchTasks({ type: "swift-plugin" });
6263
const task = tasks.find(t => t.name === "command-plugin");
6364
const swiftExecution = task?.execution as SwiftExecution;
64-
assert.deepEqual(swiftExecution.args, [
65-
"package",
66-
"--disable-sandbox",
67-
"--allow-writing-to-package-directory",
68-
"--allow-writing-to-directory",
69-
"/foo",
70-
"/bar",
71-
"--allow-network-connections",
72-
"all",
73-
"command_plugin",
74-
]);
65+
assert.deepEqual(
66+
swiftExecution.args,
67+
workspaceContext.toolchain.buildFlags.withAdditionalFlags([
68+
"package",
69+
"--disable-sandbox",
70+
"--allow-writing-to-package-directory",
71+
"--allow-writing-to-directory",
72+
"/foo",
73+
"/bar",
74+
"--allow-network-connections",
75+
"all",
76+
"command_plugin",
77+
])
78+
);
7579
});
7680
});
7781

@@ -125,15 +129,20 @@ suite("SwiftPluginTaskProvider Test Suite", function () {
125129

126130
suite("provideTasks", () => {
127131
suite("includes command plugin provided by the extension", async () => {
128-
let task: vscode.Task | undefined;
132+
let task: SwiftTask | undefined;
129133

130134
setup(async () => {
131135
const tasks = await vscode.tasks.fetchTasks({ type: "swift-plugin" });
132-
task = tasks.find(t => t.name === "command-plugin");
136+
task = tasks.find(t => t.name === "command-plugin") as SwiftTask;
133137
});
134138

135139
test("provides", () => {
136-
expect(task?.detail).to.equal("swift package command_plugin");
140+
expect(task?.execution.args).to.deep.equal(
141+
workspaceContext.toolchain.buildFlags.withAdditionalFlags([
142+
"package",
143+
"command_plugin",
144+
])
145+
);
137146
});
138147

139148
test("executes", async () => {
@@ -154,7 +163,7 @@ suite("SwiftPluginTaskProvider Test Suite", function () {
154163
});
155164

156165
test("provides", () => {
157-
expect(task?.detail).to.equal("swift package command_plugin --foo");
166+
expect(task?.detail).to.include("swift package command_plugin --foo");
158167
});
159168

160169
test("executes", async () => {

test/integration-tests/testexplorer/TestExplorerIntegration.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ suite("Test Explorer Suite", function () {
7171
// which starts searching the workspace for tests.
7272
await waitForTestExplorerReady(testExplorer);
7373
},
74+
requiresLSP: true,
7475
});
7576

7677
suite("Debugging", function () {

0 commit comments

Comments
 (0)