Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.19.0] - 2025-04-06 (Pre-release)
## [1.20.2]

### Fixed

- Killing the simulator on macOS

## [1.20.0] - 2025-10-08

### Added

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "playdate-debug",
"displayName": "Playdate Debug",
"version": "1.20.0",
"version": "1.20.1",
"publisher": "midouest",
"description": "Unofficial Playdate debug extension for macOS, Windows and Ubuntu",
"icon": "images/icon@2x.png",
Expand Down
4 changes: 2 additions & 2 deletions src/simulator/getKillSimulatorCommand.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
export function getKillSimulatorCommand(
platform: NodeJS.Platform = process.platform
platform: NodeJS.Platform = process.platform,
): string {
switch (platform) {
case "darwin":
return 'killall "Playdate Simulator"';
return 'killall -9 "Playdate Simulator"';
case "win32":
return "taskkill /IM PlaydateSimulator.exe";
case "linux":
Expand Down
40 changes: 21 additions & 19 deletions src/test/suite/configuration.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,36 +42,38 @@ suite("Configuration Test Suite", () => {
assert.ok(path.isAbsolute(sdkPath));
assert.strictEqual(sdkPath, process.env.PLAYDATE_SDK_PATH);

assert.strictEqual(sdkVersion, "1.12.3");
assert.match(sdkVersion, /^\d+\.\d+\.\d+$/);

assert.ok(path.isAbsolute(sourcePath));
assert.ok(
sourcePath.endsWith(
path.join("/fixtures/workspace/basic-configuration/source")
)
path.join("/fixtures/workspace/basic-configuration/source"),
),
);

assert.ok(path.isAbsolute(outputPath));
assert.ok(
outputPath.endsWith(path.join("/fixtures/workspace/basic-configuration"))
outputPath.endsWith(path.join("/fixtures/workspace/basic-configuration")),
);

assert.strictEqual(productName, "Basic Configuration");

assert.ok(path.isAbsolute(productPath));
assert.ok(
productPath.endsWith(
path.join("/fixtures/workspace/basic-configuration/Basic Configuration")
)
path.join(
"/fixtures/workspace/basic-configuration/Basic Configuration",
),
),
);

assert.ok(path.isAbsolute(gamePath));
assert.ok(
gamePath.endsWith(
path.join(
"/fixtures/workspace/basic-configuration/Basic Configuration.pdx"
)
)
"/fixtures/workspace/basic-configuration/Basic Configuration.pdx",
),
),
);
});

Expand All @@ -95,15 +97,15 @@ suite("Configuration Test Suite", () => {
assert.ok(path.isAbsolute(sourcePath));
assert.ok(
sourcePath.endsWith(
path.join("/fixtures/workspace/basic-configuration/source")
)
path.join("/fixtures/workspace/basic-configuration/source"),
),
);

assert.ok(path.isAbsolute(outputPath));
assert.ok(
outputPath.endsWith(
path.join("/fixtures/workspace/override-configuration")
)
path.join("/fixtures/workspace/override-configuration"),
),
);

assert.strictEqual(productName, "Override Configuration");
Expand All @@ -112,18 +114,18 @@ suite("Configuration Test Suite", () => {
assert.ok(
productPath.endsWith(
path.join(
"/fixtures/workspace/override-configuration/Override Configuration"
)
)
"/fixtures/workspace/override-configuration/Override Configuration",
),
),
);

assert.ok(path.isAbsolute(gamePath));
assert.ok(
gamePath.endsWith(
path.join(
"/fixtures/workspace/override-configuration/Override Configuration.pdx"
)
)
"/fixtures/workspace/override-configuration/Override Configuration.pdx",
),
),
);
});
});
2 changes: 1 addition & 1 deletion src/test/suite/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export function run(): Promise<void> {
const mocha = new Mocha({
ui: "tdd",
color: true,
timeout: 10000,
timeout: 30000,
});

const testsRoot = path.resolve(__dirname, "..");
Expand Down
9 changes: 6 additions & 3 deletions src/test/suite/suiteTestUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,10 @@ export async function assertSimulatorRunning(expectedCount = 1): Promise<void> {
const { platform } = process;

if (platform === "darwin") {
await assertRunningUnix("Playdate Simulator.app", expectedCount);
await assertRunningUnix(
"Playdate Simulator.app/Contents/MacOS/Playdate Simulator",
expectedCount,
);
return;
}

Expand Down Expand Up @@ -85,8 +88,8 @@ interface WaitForSimulatorOptions {
export async function waitForSimulator(
options: Partial<WaitForSimulatorOptions> = {},
): Promise<void> {
const maxRetries = options.maxRetries ?? 25;
const retryTimeout = options.retryTimeout ?? 200;
const maxRetries = options.maxRetries ?? 20;
const retryTimeout = options.retryTimeout ?? 1000;
for (let i = 0; i < maxRetries; i++) {
try {
await assertSimulatorRunning();
Expand Down