修复AGC的macOS临时路径兼容 (#125)
规范化配置回归测试的临时根路径 补充跨平台路径比较技术说明与踩坑记录 Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/125 Co-authored-by: menghao <mh18530625731@163.com> Co-committed-by: menghao <mh18530625731@163.com>
This commit was merged in pull request #125.
This commit is contained in:
@@ -436,6 +436,28 @@ async function runConfigWizardRegressionChecks() {
|
||||
path.join(os.tmpdir(), 'genarrative-agc-config-check-'),
|
||||
);
|
||||
try {
|
||||
const canonicalTestRoot = fs.realpathSync.native(testRoot);
|
||||
const realConfigAncestor = path.join(testRoot, 'real-config-ancestor');
|
||||
const linkedConfigAncestor = path.join(testRoot, 'linked-config-ancestor');
|
||||
fs.mkdirSync(realConfigAncestor);
|
||||
fs.symlinkSync(
|
||||
realConfigAncestor,
|
||||
linkedConfigAncestor,
|
||||
process.platform === 'win32' ? 'junction' : 'dir',
|
||||
);
|
||||
const missingLinkedConfigDir = path.join(
|
||||
linkedConfigAncestor,
|
||||
'missing-appdata',
|
||||
);
|
||||
assert.equal(fs.existsSync(missingLinkedConfigDir), false);
|
||||
assert.equal(
|
||||
await assertSafeGameCreatorConfigDestination(missingLinkedConfigDir),
|
||||
path.join(
|
||||
fs.realpathSync.native(realConfigAncestor),
|
||||
'missing-appdata',
|
||||
),
|
||||
);
|
||||
|
||||
const gitRoot = path.join(testRoot, 'tracked-repository');
|
||||
const trackedConfigDir = path.join(gitRoot, 'runtime-config');
|
||||
fs.mkdirSync(trackedConfigDir, { recursive: true });
|
||||
@@ -463,7 +485,7 @@ async function runConfigWizardRegressionChecks() {
|
||||
const outsideConfigDir = path.join(testRoot, 'outside-appdata');
|
||||
assert.equal(
|
||||
await assertSafeGameCreatorConfigDestination(outsideConfigDir),
|
||||
outsideConfigDir,
|
||||
path.join(canonicalTestRoot, 'outside-appdata'),
|
||||
);
|
||||
await assert.rejects(
|
||||
assertSafeGameCreatorConfigDestination(outsideConfigDir, {
|
||||
@@ -476,7 +498,7 @@ async function runConfigWizardRegressionChecks() {
|
||||
await assertSafeGameCreatorConfigDestination(dedicatedConfigDir, {
|
||||
requireDedicatedLeaf: true,
|
||||
}),
|
||||
dedicatedConfigDir,
|
||||
path.join(canonicalTestRoot, appIdentifier),
|
||||
);
|
||||
|
||||
const injectedNonGitConfigDir = path.join(testRoot, 'injected-non-git');
|
||||
@@ -489,7 +511,7 @@ async function runConfigWizardRegressionChecks() {
|
||||
'fatal: not a git repository (or any of the parent directories): .git\n',
|
||||
}),
|
||||
}),
|
||||
injectedNonGitConfigDir,
|
||||
path.join(canonicalTestRoot, 'injected-non-git'),
|
||||
);
|
||||
await assert.rejects(
|
||||
assertSafeGameCreatorConfigDestination(
|
||||
|
||||
@@ -2,20 +2,6 @@ import type {
|
||||
ProjectResourceCanvasLayout,
|
||||
ProjectResourceCanvasPosition,
|
||||
} from '../../../../packages/shared/src/contracts/gameCreationApp';
|
||||
import { consumeInitialGameChatMessage } from '../../src/App';
|
||||
import type {
|
||||
AgentRuntimeEventRecord,
|
||||
AgentRuntimeState,
|
||||
} from '../../src/app/types';
|
||||
import {
|
||||
collectGameChatResultImages,
|
||||
collectGameChatRuntimeEvents,
|
||||
SupervisorChatOnlyView,
|
||||
} from '../../src/features/project-workspace/SupervisorChatOnlyView';
|
||||
import {
|
||||
RESOURCE_CANVAS_CARD_WIDTH,
|
||||
RESOURCE_CANVAS_COLUMN_GAP,
|
||||
} from '../../src/view/project-development/resourceCanvasLayoutModel';
|
||||
import {
|
||||
consumeInitialGameChatMessage,
|
||||
latestGameChatPlayableRevision,
|
||||
@@ -30,6 +16,10 @@ import {
|
||||
collectGameChatRuntimeEvents,
|
||||
SupervisorChatOnlyView,
|
||||
} from '../../src/features/project-workspace/SupervisorChatOnlyView';
|
||||
import {
|
||||
RESOURCE_CANVAS_CARD_WIDTH,
|
||||
RESOURCE_CANVAS_COLUMN_GAP,
|
||||
} from '../../src/view/project-development/resourceCanvasLayoutModel';
|
||||
import {
|
||||
act,
|
||||
agentRuntimeUserInputRequest,
|
||||
@@ -4241,7 +4231,7 @@ export function registerProjectSupervisorSurfaceTests() {
|
||||
([command]) => command === 'get_local_game_preview_status',
|
||||
).length,
|
||||
).toBeGreaterThan(previewStatusReads);
|
||||
});
|
||||
}, { timeout: 3000 });
|
||||
expect(driver.readAuthorization()?.authorizationId).toBe(
|
||||
steerAuthorizationId,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user