test(electron): unblock desktop/git tests on git 2.36 + stubbed electron
- git init --bare now takes -b main (7 sites): bare HEAD defaulted to a
dangling master ref, so clone checked out nothing and `push origin main`
couldn't resolve the refspec (surfaced as ENOENT + engine-crash).
- git-ipc.test.ts mocks electron: the file only tests pure helpers but
imports via ipc-handlers, whose `import { ipcMain } from 'electron'`
throws when electron's postinstall left path.txt missing.
Production code unchanged; worktree-merge.ts still requires git 2.36 for
--format=%(path) — addressed separately.
This commit is contained in:
parent
aa755f13e0
commit
cd25bd0cf9
|
|
@ -972,7 +972,7 @@ describe('git-engine', () => {
|
|||
const aDir = join(temp.dir, 'a');
|
||||
const bDir = join(temp.dir, 'b');
|
||||
|
||||
await execFileAsync('git', ['init', '--bare', remoteDir]);
|
||||
await execFileAsync('git', ['init', '--bare', '-b', 'main', remoteDir]);
|
||||
await execFileAsync('git', ['clone', remoteDir, aDir]);
|
||||
await execFileAsync('git', ['-C', aDir, 'checkout', '-b', 'main']);
|
||||
await fsp.writeFile(join(aDir, 'design.op'), '{"version":"1.0.0","children":[{"id":"r1"}]}');
|
||||
|
|
@ -1106,7 +1106,7 @@ describe('git-engine', () => {
|
|||
const remoteDir = join(temp.dir, 'remote.git');
|
||||
const cloneDir = join(temp.dir, 'clone');
|
||||
|
||||
await execFileAsync('git', ['init', '--bare', remoteDir]);
|
||||
await execFileAsync('git', ['init', '--bare', '-b', 'main', remoteDir]);
|
||||
await execFileAsync('git', ['clone', remoteDir, cloneDir]);
|
||||
await execFileAsync('git', ['-C', cloneDir, 'checkout', '-b', 'main']);
|
||||
await fsp.writeFile(
|
||||
|
|
@ -1804,7 +1804,7 @@ describe('git-engine', () => {
|
|||
const aDir = join(temp.dir, 'a');
|
||||
const bDir = join(temp.dir, 'b');
|
||||
|
||||
await execFileAsync('git', ['init', '--bare', remoteDir]);
|
||||
await execFileAsync('git', ['init', '--bare', '-b', 'main', remoteDir]);
|
||||
await execFileAsync('git', ['clone', remoteDir, aDir]);
|
||||
await execFileAsync('git', ['-C', aDir, 'checkout', '-b', 'main']);
|
||||
await fsp.writeFile(
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
// apps/desktop/git/__tests__/git-ipc.test.ts
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { describe, it, expect, vi } from 'vitest';
|
||||
|
||||
// The `electron` npm package's `index.js` resolves the binary path at import
|
||||
// time and throws when its postinstall didn't run (path.txt missing). This
|
||||
// file only exercises pure helpers, so we stub electron's ipc surface.
|
||||
vi.mock('electron', () => ({ ipcMain: { handle: () => undefined } }));
|
||||
|
||||
import { GitError } from '../error';
|
||||
import { serializeGitError, GIT_ERROR_MARKER } from '../ipc-handlers';
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ describe('git-sys real (gated on system git)', () => {
|
|||
const cloneDir = join(temp.dir, 'clone');
|
||||
|
||||
// Set up: bare remote, source repo with one commit, push source → remote.
|
||||
await execFileAsync('git', ['init', '--bare', remoteDir]);
|
||||
await execFileAsync('git', ['init', '--bare', '-b', 'main', remoteDir]);
|
||||
await fsp.mkdir(sourceDir, { recursive: true });
|
||||
await execFileAsync('git', ['init', '-b', 'main', sourceDir]);
|
||||
await fsp.writeFile(join(sourceDir, 'README.md'), '# test\n');
|
||||
|
|
@ -74,7 +74,7 @@ describe('git-sys real (gated on system git)', () => {
|
|||
const aDir = join(temp.dir, 'a');
|
||||
const bDir = join(temp.dir, 'b');
|
||||
|
||||
await execFileAsync('git', ['init', '--bare', remoteDir]);
|
||||
await execFileAsync('git', ['init', '--bare', '-b', 'main', remoteDir]);
|
||||
// a: clone, commit, push
|
||||
await execFileAsync('git', ['clone', remoteDir, aDir]);
|
||||
await execFileAsync('git', ['-C', aDir, 'checkout', '-b', 'main']);
|
||||
|
|
@ -114,7 +114,7 @@ describe('git-sys real (gated on system git)', () => {
|
|||
const remoteDir = join(temp.dir, 'remote.git');
|
||||
const cloneDir = join(temp.dir, 'clone');
|
||||
|
||||
await execFileAsync('git', ['init', '--bare', remoteDir]);
|
||||
await execFileAsync('git', ['init', '--bare', '-b', 'main', remoteDir]);
|
||||
await execFileAsync('git', ['clone', remoteDir, cloneDir]);
|
||||
await execFileAsync('git', ['-C', cloneDir, 'checkout', '-b', 'main']);
|
||||
await fsp.writeFile(join(cloneDir, 'a.txt'), 'a');
|
||||
|
|
@ -143,7 +143,7 @@ describe('git-sys real (gated on system git)', () => {
|
|||
const aDir = join(temp.dir, 'a');
|
||||
const bDir = join(temp.dir, 'b');
|
||||
|
||||
await execFileAsync('git', ['init', '--bare', remoteDir]);
|
||||
await execFileAsync('git', ['init', '--bare', '-b', 'main', remoteDir]);
|
||||
// a: seed remote with one commit
|
||||
await execFileAsync('git', ['clone', remoteDir, aDir]);
|
||||
await execFileAsync('git', ['-C', aDir, 'checkout', '-b', 'main']);
|
||||
|
|
|
|||
Loading…
Reference in a new issue