Log error in getTracerConfigForCluster instead of re-throwing it

This commit is contained in:
Michael B. Gale
2026-09-24 12:06:01 +01:00
parent aa2cb993a1
commit 19aa55de51
4 changed files with 26 additions and 11 deletions

11
lib/entry-points.js generated
View File

@@ -152834,7 +152834,7 @@ async function endTracingForCluster(codeql, config, logger) {
);
}
}
async function getTracerConfigForCluster(config) {
async function getTracerConfigForCluster(logger, config) {
const filePath = path14.resolve(
config.dbLocation,
"temp/tracingEnvironment/start-tracing.json"
@@ -152845,16 +152845,17 @@ async function getTracerConfigForCluster(config) {
env: tracingEnvVariables
};
} catch (err) {
throw new Error(
logger.error(
`Failed to parse tracing environment from '${filePath}': ${getErrorMessage(err)}`
);
throw new Error(`Failed to parse tracing environment from '${filePath}'.`);
}
}
async function getCombinedTracerConfig(codeql, config) {
async function getCombinedTracerConfig(logger, codeql, config) {
if (!await shouldEnableIndirectTracing(codeql, config)) {
return void 0;
}
return await getTracerConfigForCluster(config);
return await getTracerConfigForCluster(logger, config);
}
// src/codeql.ts
@@ -162630,7 +162631,7 @@ exec ${goBinaryPath} "$@"`
qlconfigFile
);
}
const tracerConfig = await getCombinedTracerConfig(codeql, config);
const tracerConfig = await getCombinedTracerConfig(logger, codeql, config);
if (tracerConfig !== void 0) {
for (const [key, value] of Object.entries(tracerConfig.env)) {
core22.exportVariable(key, value);

View File

@@ -716,7 +716,7 @@ async function run(
);
}
const tracerConfig = await getCombinedTracerConfig(codeql, config);
const tracerConfig = await getCombinedTracerConfig(logger, codeql, config);
if (tracerConfig !== undefined) {
for (const [key, value] of Object.entries(tracerConfig.env)) {
core.exportVariable(key, value);

View File

@@ -7,7 +7,12 @@ import * as sinon from "sinon";
import { CodeQL, getCodeQLForTesting } from "./codeql";
import * as configUtils from "./config-utils";
import { BuiltInLanguage } from "./languages";
import { createTestConfig, makeVersionInfo, setupTests } from "./testing-utils";
import {
createTestConfig,
makeVersionInfo,
RecordingLogger,
setupTests,
} from "./testing-utils";
import { ToolsFeature } from "./tools-features";
import { getCombinedTracerConfig } from "./tracer-config";
import * as util from "./util";
@@ -42,18 +47,20 @@ async function stubCodeql(
}
test("getCombinedTracerConfig - return undefined when no languages are traced languages", async (t) => {
const logger = new RecordingLogger();
await util.withTmpDir(async (tmpDir) => {
const config = getTestConfig(tmpDir);
// No traced languages
config.languages = [BuiltInLanguage.javascript, BuiltInLanguage.python];
t.deepEqual(
await getCombinedTracerConfig(await stubCodeql(), config),
await getCombinedTracerConfig(logger, await stubCodeql(), config),
undefined,
);
});
});
test("getCombinedTracerConfig", async (t) => {
const logger = new RecordingLogger();
await util.withTmpDir(async (tmpDir) => {
const config = getTestConfig(tmpDir);
@@ -82,7 +89,11 @@ test("getCombinedTracerConfig", async (t) => {
);
fs.writeFileSync(startTracingJson, JSON.stringify(startTracingEnv));
const result = await getCombinedTracerConfig(await stubCodeql(), config);
const result = await getCombinedTracerConfig(
logger,
await stubCodeql(),
config,
);
t.notDeepEqual(result, undefined);
t.false(Object.prototype.hasOwnProperty.call(result?.env, "CODEQL_RUNNER"));

View File

@@ -77,6 +77,7 @@ export async function endTracingForCluster(
}
async function getTracerConfigForCluster(
logger: Logger,
config: Config,
): Promise<TracerConfig> {
const filePath = path.resolve(
@@ -89,13 +90,15 @@ async function getTracerConfigForCluster(
env: tracingEnvVariables,
};
} catch (err) {
throw new Error(
logger.error(
`Failed to parse tracing environment from '${filePath}': ${getErrorMessage(err)}`,
);
throw new Error(`Failed to parse tracing environment from '${filePath}'.`);
}
}
export async function getCombinedTracerConfig(
logger: Logger,
codeql: CodeQL,
config: Config,
): Promise<TracerConfig | undefined> {
@@ -103,5 +106,5 @@ export async function getCombinedTracerConfig(
return undefined;
}
return await getTracerConfigForCluster(config);
return await getTracerConfigForCluster(logger, config);
}