diff --git a/packages/cli/src/test-utils/async.ts b/packages/cli/src/test-utils/async.ts index 3069c3f41a..16eb304a4a 100644 --- a/packages/cli/src/test-utils/async.ts +++ b/packages/cli/src/test-utils/async.ts @@ -12,6 +12,8 @@ import { vi } from 'vitest'; // or @testing-library/react-native // The version of waitFor from vitest is still fine to use if you aren't waiting // for React state updates. +export const skipFlaky = !process.env['RUN_FLAKY_INTEGRATION']; + export async function waitFor( assertion: () => void | Promise, { timeout = 2000, interval = 50 } = {}, diff --git a/packages/cli/src/ui/components/MainContent.test.tsx b/packages/cli/src/ui/components/MainContent.test.tsx index b6bc0795eb..fdf7fd2fd8 100644 --- a/packages/cli/src/ui/components/MainContent.test.tsx +++ b/packages/cli/src/ui/components/MainContent.test.tsx @@ -7,7 +7,7 @@ import { renderWithProviders } from '../../test-utils/render.js'; import { createMockSettings } from '../../test-utils/settings.js'; import { makeFakeConfig, CoreToolCallStatus } from '@google/gemini-cli-core'; -import { waitFor } from '../../test-utils/async.js'; +import { waitFor, skipFlaky } from '../../test-utils/async.js'; import { MainContent } from './MainContent.js'; import { getToolGroupBorderAppearance } from '../utils/borderStyles.js'; import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; @@ -318,7 +318,7 @@ describe('getToolGroupBorderAppearance', () => { }); }); -describe('MainContent', () => { +describe.skipIf(skipFlaky)('MainContent', () => { const defaultMockUiState = { history: [ { id: 1, type: 'user', text: 'Hello' },