Fix failing test and address PR comments

This commit is contained in:
Andrew Eisenberg
2022-08-11 09:56:08 -07:00
parent 2314063848
commit a09a029937
12 changed files with 28 additions and 15 deletions

5
lib/codeql.js generated
View File

@@ -866,7 +866,7 @@ async function generateCodescanningConfig(codeql, config) {
}
const configLocation = path.resolve(config.tempDir, "user-config.yaml");
// make a copy so we can modify it
const augmentedConfig = JSON.parse(JSON.stringify(config.originalUserInput));
const augmentedConfig = cloneObject(config.originalUserInput);
// Inject the queries from the input
if (config.augmentationProperties.queriesInput) {
if (config.augmentationProperties.queriesInputCombines) {
@@ -921,4 +921,7 @@ async function generateCodescanningConfig(codeql, config) {
fs.writeFileSync(configLocation, yaml.dump(augmentedConfig));
return configLocation;
}
function cloneObject(obj) {
return JSON.parse(JSON.stringify(obj));
}
//# sourceMappingURL=codeql.js.map

File diff suppressed because one or more lines are too long

2
lib/config-utils.js generated
View File

@@ -47,6 +47,8 @@ exports.defaultAugmentationProperties = {
queriesInputCombines: false,
packsInputCombines: false,
injectedMlQueries: false,
packsInput: undefined,
queriesInput: undefined,
};
/**
* A list of queries from https://github.com/github/codeql that

File diff suppressed because one or more lines are too long

View File

@@ -839,7 +839,8 @@ const invalidPackNameMacro = ava_1.default.macro({
* Test macro for testing the packs block and the packs input
*/
function parseInputAndConfigMacro(t, packsFromConfig, packsFromInput, languages, expected) {
t.deepEqual(configUtils.parsePacks(packsFromConfig, packsFromInput, !!(packsFromInput === null || packsFromInput === void 0 ? void 0 : packsFromInput.trim().startsWith("+")), languages, "/a/b", mockLogger), expected);
t.deepEqual(configUtils.parsePacks(packsFromConfig, packsFromInput, !!(packsFromInput === null || packsFromInput === void 0 ? void 0 : packsFromInput.trim().startsWith("+")), // coerce to boolean
languages, "/a/b", mockLogger), expected);
}
parseInputAndConfigMacro.title = (providedTitle) => `Parse Packs input and config: ${providedTitle}`;
const mockLogger = {

File diff suppressed because one or more lines are too long

5
lib/util.js generated
View File

@@ -649,9 +649,8 @@ exports.isInTestMode = isInTestMode;
* that gets passed to the CLI.
*/
async function useCodeScanningConfigInCli(codeql) {
return ((process.env[EnvVar.CODEQL_PASS_CONFIG_TO_CLI] === "true" &&
(await codeQlVersionAbove(codeql, codeql_1.CODEQL_VERSION_CONFIG_FILES))) ||
false);
return (process.env[EnvVar.CODEQL_PASS_CONFIG_TO_CLI] === "true" &&
(await codeQlVersionAbove(codeql, codeql_1.CODEQL_VERSION_CONFIG_FILES)));
}
exports.useCodeScanningConfigInCli = useCodeScanningConfigInCli;
//# sourceMappingURL=util.js.map

File diff suppressed because one or more lines are too long

View File

@@ -1234,13 +1234,16 @@ async function runTool(cmd: string, args: string[] = []) {
* @param config The configuration to use.
* @returns the path to the generated user configuration file.
*/
async function generateCodescanningConfig(codeql: CodeQL, config: Config) {
async function generateCodescanningConfig(
codeql: CodeQL,
config: Config
): Promise<string | undefined> {
if (!(await util.useCodeScanningConfigInCli(codeql))) {
return;
}
const configLocation = path.resolve(config.tempDir, "user-config.yaml");
// make a copy so we can modify it
const augmentedConfig = JSON.parse(JSON.stringify(config.originalUserInput));
const augmentedConfig = cloneObject(config.originalUserInput);
// Inject the queries from the input
if (config.augmentationProperties.queriesInput) {
@@ -1299,3 +1302,7 @@ async function generateCodescanningConfig(codeql: CodeQL, config: Config) {
fs.writeFileSync(configLocation, yaml.dump(augmentedConfig));
return configLocation;
}
function cloneObject(obj: any) {
return JSON.parse(JSON.stringify(obj));
}

View File

@@ -1623,7 +1623,7 @@ function parseInputAndConfigMacro(
configUtils.parsePacks(
packsFromConfig,
packsFromInput,
!!packsFromInput?.trim().startsWith("+"),
!!packsFromInput?.trim().startsWith("+"), // coerce to boolean
languages,
"/a/b",
mockLogger

View File

@@ -198,6 +198,8 @@ export const defaultAugmentationProperties: AugmentationProperties = {
queriesInputCombines: false,
packsInputCombines: false,
injectedMlQueries: false,
packsInput: undefined,
queriesInput: undefined,
};
export type Packs = Partial<Record<Language, string[]>>;

View File

@@ -776,8 +776,7 @@ export async function useCodeScanningConfigInCli(
codeql: CodeQL
): Promise<boolean> {
return (
(process.env[EnvVar.CODEQL_PASS_CONFIG_TO_CLI] === "true" &&
(await codeQlVersionAbove(codeql, CODEQL_VERSION_CONFIG_FILES))) ||
false
process.env[EnvVar.CODEQL_PASS_CONFIG_TO_CLI] === "true" &&
(await codeQlVersionAbove(codeql, CODEQL_VERSION_CONFIG_FILES))
);
}