Fix Windows git command console flashing (#897)
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
||||
import { tmpdir } from "node:os";
|
||||
import path from "node:path";
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
|
||||
import { runGitCommand } from "./run-git-command.js";
|
||||
|
||||
const tempDirs: string[] = [];
|
||||
|
||||
function makeTempRepo(): string {
|
||||
const repo = mkdtempSync(path.join(tmpdir(), "paseo-git-shell-"));
|
||||
tempDirs.push(repo);
|
||||
return repo;
|
||||
}
|
||||
|
||||
afterEach(() => {
|
||||
for (const dir of tempDirs.splice(0)) {
|
||||
rmSync(dir, { recursive: true, force: true, maxRetries: 5, retryDelay: 100 });
|
||||
}
|
||||
});
|
||||
|
||||
describe("runGitCommand shell behavior", () => {
|
||||
it("passes git arguments directly instead of through the platform shell", async () => {
|
||||
const repo = makeTempRepo();
|
||||
const literalName = "%PASEO_GIT_SHELL_SENTINEL%";
|
||||
const expandedName = "expanded-by-cmd";
|
||||
|
||||
await runGitCommand(["init"], { cwd: repo });
|
||||
writeFileSync(path.join(repo, literalName), "literal\n");
|
||||
writeFileSync(path.join(repo, expandedName), "expanded\n");
|
||||
await runGitCommand(["add", literalName, expandedName], { cwd: repo });
|
||||
|
||||
const result = await runGitCommand(["ls-files", "--error-unmatch", literalName], {
|
||||
cwd: repo,
|
||||
envOverlay: {
|
||||
PASEO_GIT_SHELL_SENTINEL: expandedName,
|
||||
},
|
||||
});
|
||||
|
||||
expect(result.stdout.trim()).toBe(literalName);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user