diff --git a/packages/react-native-fantom/runner/entrypoint-template.js b/packages/react-native-fantom/runner/entrypoint-template.js index 48aa45967b0..8d53f6b27a9 100644 --- a/packages/react-native-fantom/runner/entrypoint-template.js +++ b/packages/react-native-fantom/runner/entrypoint-template.js @@ -9,25 +9,22 @@ */ import type {SnapshotConfig} from '../runtime/snapshotContext'; -import type { - FantomTestConfigJsOnlyFeatureFlags, - FantomTestConfigReactInternalFeatureFlags, -} from './getFantomTestConfigs'; +import type {FantomTestConfig} from './getFantomTestConfigs'; + +import formatFantomConfig from './formatFantomConfig'; module.exports = function entrypointTemplate({ testPath, setupModulePath, featureFlagsModulePath, - featureFlags, - reactInternalFeatureFlags, + testConfig, snapshotConfig, isRunningFromCI, }: { testPath: string, setupModulePath: string, featureFlagsModulePath: string, - featureFlags: FantomTestConfigJsOnlyFeatureFlags, - reactInternalFeatureFlags: FantomTestConfigReactInternalFeatureFlags, + testConfig: FantomTestConfig, snapshotConfig: SnapshotConfig, isRunningFromCI: boolean, }): string { @@ -45,20 +42,20 @@ module.exports = function entrypointTemplate({ import {registerTest} from '${setupModulePath}'; import {setConstants} from '@react-native/fantom'; ${ - Object.keys(featureFlags).length > 0 + Object.keys(testConfig.flags.jsOnly).length > 0 ? `import * as ReactNativeFeatureFlags from '${featureFlagsModulePath}'; ReactNativeFeatureFlags.override({ -${Object.entries(featureFlags) +${Object.entries(testConfig.flags.jsOnly) .map(([name, value]) => ` ${name}: () => ${JSON.stringify(value)},`) .join('\n')} });` : '' } ${ - Object.keys(reactInternalFeatureFlags).length > 0 + Object.keys(testConfig.flags.reactInternal).length > 0 ? `import ReactNativeInternalFeatureFlags from 'ReactNativeInternalFeatureFlags'; - ${Object.entries(reactInternalFeatureFlags) + ${Object.entries(testConfig.flags.reactInternal) .map( ([name, value]) => `ReactNativeInternalFeatureFlags.${name} = ${JSON.stringify(value)};`, @@ -69,6 +66,7 @@ ${ setConstants({ isRunningFromCI: ${String(isRunningFromCI)}, + fantomConfigSummary: '${formatFantomConfig(testConfig)}', }); registerTest(() => require('${testPath}'), ${JSON.stringify(snapshotConfig)}); diff --git a/packages/react-native-fantom/runner/runner.js b/packages/react-native-fantom/runner/runner.js index 6e4f60fee33..af4bece8880 100644 --- a/packages/react-native-fantom/runner/runner.js +++ b/packages/react-native-fantom/runner/runner.js @@ -207,8 +207,7 @@ module.exports = async function runTest( testPath: `${path.relative(BUILD_OUTPUT_PATH, testPath)}`, setupModulePath: `${path.relative(BUILD_OUTPUT_PATH, setupModulePath)}`, featureFlagsModulePath: `${path.relative(BUILD_OUTPUT_PATH, featureFlagsModulePath)}`, - featureFlags: testConfig.flags.jsOnly, - reactInternalFeatureFlags: testConfig.flags.reactInternal, + testConfig, snapshotConfig: { updateSnapshot: snapshotState._updateSnapshot, data: getInitialSnapshotData(snapshotState), diff --git a/packages/react-native-fantom/src/Benchmark.js b/packages/react-native-fantom/src/Benchmark.js index f35dd40ae28..09b9ca4224f 100644 --- a/packages/react-native-fantom/src/Benchmark.js +++ b/packages/react-native-fantom/src/Benchmark.js @@ -171,12 +171,15 @@ export function suite( } function printBenchmarkResults(bench: Bench) { + const {fantomConfigSummary} = getConstants(); const longestTaskNameLength = bench.tasks.reduce( (maxLength, task) => Math.max(maxLength, task.name.length), 0, ); const separatorWidth = 137 + longestTaskNameLength - 'Task name'.length; - const benchmarkName = bench.name ?? 'Benchmark'; + const benchmarkName = + (bench.name ?? 'Benchmark') + + (fantomConfigSummary ? ` (${fantomConfigSummary})` : ''); console.log('-'.repeat(separatorWidth)); console.log( diff --git a/packages/react-native-fantom/src/index.js b/packages/react-native-fantom/src/index.js index 4b4c5e50645..85a3e56fe1d 100644 --- a/packages/react-native-fantom/src/index.js +++ b/packages/react-native-fantom/src/index.js @@ -522,10 +522,12 @@ export const unstable_benchmark = Benchmark; type FantomConstants = $ReadOnly<{ isRunningFromCI: boolean, + fantomConfigSummary: string, }>; let constants: FantomConstants = { isRunningFromCI: false, + fantomConfigSummary: '', }; export function getConstants(): FantomConstants { diff --git a/packages/react-native/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-benchmark-itest.js b/packages/react-native/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-benchmark-itest.js index ba38cf03863..499484f9bc1 100644 --- a/packages/react-native/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-benchmark-itest.js +++ b/packages/react-native/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-benchmark-itest.js @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @fantom_flags enableAccessToHostTreeInFabric:true + * @fantom_flags enableAccessToHostTreeInFabric:true enableIntersectionObserverEventLoopIntegration:* * @flow strict-local * @format */