-
Notifications
You must be signed in to change notification settings - Fork 150
Open
Description
Various tests are failing on Windows, likely due to differences in file paths:
Here's the complete output on my end:
Details
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
FAIL test/plugin/plugin.test.ts > loading plugins from packages
Error: ENOENT: no such file or directory, lstat 'C:\Users\mahye\git-proxy\test\fixtures\test-package\node_modules'
❯ test/plugin/plugin.test.ts:123:5
121|
122| afterAll(() => {
123| rmSync(join(testPackagePath, 'node_modules'), { recursive: true });
| ^
124| });
125| });
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/13]⎯
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 12 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
FAIL test/ConfigLoader.test.ts > ConfigLoader > initialize > should initialize cache directory using env-paths
AssertionError: expected 'C:\Users\mahye\AppData\Local\git-prox…' to contain 'AppData/Local'
Expected: "AppData/Local"
Received: "C:\Users\mahye\AppData\Local\git-proxy-nodejs\Cache"
❯ test/ConfigLoader.test.ts:215:43
213| expect(configLoader.cacheDirPath).toContain('.cache');
214| } else if (process.platform === 'win32') {
215| expect(configLoader.cacheDirPath).toContain('AppData/Local');
| ^
216| }
217| });
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/13]⎯
FAIL test/plugin/plugin.test.ts > loading plugins from packages > CommonJS syntax > should load plugins that are the default export (module.exports = pluginObj)
AssertionError: expected +0 to be 1 // Object.is equality
- Expected
+ Received
- 1
+ 0
❯ timeout test/plugin/plugin.test.ts:20:43
18| const loader = new PluginLoader([join(testPackagePath, 'default-export.js')]);
19| await loader.load();
20| expect(loader.pushPlugins.length).toBe(1);
| ^
21| expect(loader.pushPlugins.every((p) => isCompatiblePlugin(p))).toBe(true);
22| expect(
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/13]⎯
FAIL test/plugin/plugin.test.ts > loading plugins from packages > CommonJS syntax > should load multiple plugins from a module that match the plugin class (module.exports = { pluginFoo, pluginBar })
AssertionError: expected +0 to be 1 // Object.is equality
- Expected
+ Received
- 1
+ 0
❯ timeout test/plugin/plugin.test.ts:34:43
32| const loader = new PluginLoader([join(testPackagePath, 'multiple-export.js')]);
33| await loader.load();
34| expect(loader.pushPlugins.length).toBe(1);
| ^
35| expect(loader.pullPlugins.length).toBe(1);
36| expect(loader.pushPlugins.every((p) => isCompatiblePlugin(p))).toBe(true);
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/13]⎯
FAIL test/plugin/plugin.test.ts > loading plugins from packages > CommonJS syntax > should load plugins that are subclassed from plugin classes
AssertionError: expected +0 to be 1 // Object.is equality
- Expected
+ Received
- 1
+ 0
❯ timeout test/plugin/plugin.test.ts:52:43
50| const loader = new PluginLoader([join(testPackagePath, 'subclass.js')]);
51| await loader.load();
52| expect(loader.pushPlugins.length).toBe(1);
| ^
53| expect(loader.pushPlugins.every((p) => isCompatiblePlugin(p))).toBe(true);
54| expect(
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/13]⎯
FAIL test/plugin/plugin.test.ts > loading plugins from packages > ESM syntax > should load plugins that are the default export (exports default pluginObj)
AssertionError: expected +0 to be 1 // Object.is equality
- Expected
+ Received
- 1
+ 0
❯ timeout test/plugin/plugin.test.ts:68:43
66| const loader = new PluginLoader([join(testPackagePath, 'esm-export.js')]);
67| await loader.load();
68| expect(loader.pushPlugins.length).toBe(1);
| ^
69| expect(loader.pushPlugins.every((p) => isCompatiblePlugin(p))).toBe(true);
70| expect(
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/13]⎯
FAIL test/plugin/plugin.test.ts > loading plugins from packages > ESM syntax > should load multiple plugins from a module that match the plugin class (exports default { pluginFoo, pluginBar })
AssertionError: expected +0 to be 1 // Object.is equality
- Expected
+ Received
- 1
+ 0
❯ test/plugin/plugin.test.ts:79:41
77| const loader = new PluginLoader([join(testPackagePath, 'esm-multiple-export.js')]);
78| await loader.load();
79| expect(loader.pushPlugins.length).toBe(1);
| ^
80| expect(loader.pullPlugins.length).toBe(1);
81| expect(loader.pushPlugins.every((p) => isCompatiblePlugin(p))).toBe(true);
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/13]⎯
FAIL test/plugin/plugin.test.ts > loading plugins from packages > ESM syntax > should load plugins that are subclassed from plugin classes (exports default class DummyPlugin extends PushActionPlugin {})
AssertionError: expected +0 to be 1 // Object.is equality
- Expected
+ Received
- 1
+ 0
❯ test/plugin/plugin.test.ts:92:41
90| const loader = new PluginLoader([join(testPackagePath, 'esm-subclass.js')]);
91| await loader.load();
92| expect(loader.pushPlugins.length).toBe(1);
| ^
93| expect(loader.pushPlugins.every((p) => isCompatiblePlugin(p))).toBe(true);
94| expect(
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/13]⎯
FAIL test/processors/writePack.test.ts > writePack > exec > should execute git receive-pack with correct parameters
AssertionError: expected 1st "spawnSync" call to have been called with [ 'git', [ 'config', …(2) ], …(1) ]
- Expected
+ Received
@@ -3,9 +3,10 @@
[
"config",
"receive.unpackLimit",
"0",
],
- ObjectContaining {
- "cwd": "/path/to/repo",
+ {
+ "cwd": "\\path\\to\\repo",
+ "encoding": "utf-8",
},
]
❯ test/processors/writePack.test.ts:65:29
63|
64| expect(spawnSyncMock).toHaveBeenCalledTimes(2);
65| expect(spawnSyncMock).toHaveBeenNthCalledWith(
| ^
66| 1,
67| 'git',
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/13]⎯
FAIL test/preReceive/preReceive.test.ts > Pre-Receive Hook Execution > should approve push automatically when hook returns status 0
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/preReceive/preReceive.test.ts:93:35
91|
92| expect(result.steps).toHaveLength(1);
93| expect(result.steps[0].error).toBe(false);
| ^
94| expect(
95| result.steps[0].logs.some((log: string) =>
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/13]⎯
FAIL test/preReceive/preReceive.test.ts > Pre-Receive Hook Execution > should reject push automatically when hook returns status 1
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/preReceive/preReceive.test.ts:109:35
107|
108| expect(result.steps).toHaveLength(1);
109| expect(result.steps[0].error).toBe(false);
| ^
110| expect(
111| result.steps[0].logs.some((log: string) =>
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/13]⎯
FAIL test/preReceive/preReceive.test.ts > Pre-Receive Hook Execution > should execute hook successfully and require manual approval
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/preReceive/preReceive.test.ts:125:35
123|
124| expect(result.steps).toHaveLength(1);
125| expect(result.steps[0].error).toBe(false);
| ^
126| expect(
127| result.steps[0].logs.some((log: string) => log.includes('Push requires manual approval.'…
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[12/13]⎯
FAIL test/preReceive/preReceive.test.ts > Pre-Receive Hook Execution > should handle unexpected hook status codes
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ test/preReceive/preReceive.test.ts:142:7
140| expect(
141| result.steps[0].logs.some((log: string) => log.includes('Unexpected hook status: 99')),
142| ).toBe(true);
| ^
143| expect(
144| result.steps[0].logs.some((log: string) => log.includes('Unknown pre-receive hook error.…
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[13/13]⎯
Test Files 4 failed | 41 passed | 1 skipped (46)
Tests 12 failed | 518 passed | 9 skipped (539)
Start at 14:09:11
Duration 36.85s (transform 1.65s, setup 0ms, collect 4.72s, tests 29.56s, environment 0ms, prepare 254ms)We should fix these up so they're platform-agnostic, and also have a separate test script for running tests on Windows.
Related, another similar issue with E2E tests failing only on Windows:
#1165 (review)
Metadata
Metadata
Assignees
Labels
No labels