reformat code and allow negative values for threads
This commit is contained in:
parent
bcb5b28954
commit
31996935e6
8 changed files with 37 additions and 27 deletions
File diff suppressed because one or more lines are too long
14
lib/util.js
generated
14
lib/util.js
generated
|
|
@ -355,8 +355,8 @@ async function withTmpDir(body) {
|
||||||
}
|
}
|
||||||
exports.withTmpDir = withTmpDir;
|
exports.withTmpDir = withTmpDir;
|
||||||
/**
|
/**
|
||||||
* Get the value specified for the `ram` input. If no value was specified, the
|
* Get the codeql `--ram` flag as configured by the `ram` input. If no value was
|
||||||
* total available memory will be used minus 256 MB.
|
* specified, the total available memory will be used minus 256 MB.
|
||||||
*
|
*
|
||||||
* @returns string
|
* @returns string
|
||||||
*/
|
*/
|
||||||
|
|
@ -379,8 +379,8 @@ function getMemoryFlag() {
|
||||||
}
|
}
|
||||||
exports.getMemoryFlag = getMemoryFlag;
|
exports.getMemoryFlag = getMemoryFlag;
|
||||||
/**
|
/**
|
||||||
* Get the value specified for the `threads` input. The value defaults to 1.
|
* Get the codeql `--threads` value specified for the `threads` input. The value
|
||||||
* The value will be capped to the number of available CPUs.
|
* defaults to 1. The value will be capped to the number of available CPUs.
|
||||||
*
|
*
|
||||||
* @returns string
|
* @returns string
|
||||||
*/
|
*/
|
||||||
|
|
@ -389,13 +389,17 @@ function getThreadsFlag() {
|
||||||
const numThreadsString = core.getInput("threads");
|
const numThreadsString = core.getInput("threads");
|
||||||
if (numThreadsString) {
|
if (numThreadsString) {
|
||||||
numThreads = Number(numThreadsString);
|
numThreads = Number(numThreadsString);
|
||||||
if (Number.isNaN(numThreads) || numThreads < 0) {
|
if (Number.isNaN(numThreads)) {
|
||||||
throw new Error(`Invalid threads setting "${numThreadsString}", specified.`);
|
throw new Error(`Invalid threads setting "${numThreadsString}", specified.`);
|
||||||
}
|
}
|
||||||
const maxThreads = os.cpus().length;
|
const maxThreads = os.cpus().length;
|
||||||
if (numThreads > maxThreads) {
|
if (numThreads > maxThreads) {
|
||||||
numThreads = maxThreads;
|
numThreads = maxThreads;
|
||||||
}
|
}
|
||||||
|
const minThreads = -maxThreads;
|
||||||
|
if (numThreads < minThreads) {
|
||||||
|
numThreads = minThreads;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return `--threads=${numThreads}`;
|
return `--threads=${numThreads}`;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
5
lib/util.test.js
generated
5
lib/util.test.js
generated
|
|
@ -42,7 +42,8 @@ ava_1.default('getThreadsFlag() should return the correct --threads flag', t =>
|
||||||
const tests = {
|
const tests = {
|
||||||
"0": "--threads=0",
|
"0": "--threads=0",
|
||||||
"1": "--threads=1",
|
"1": "--threads=1",
|
||||||
[`${numCpus + 1}`]: `--threads=${numCpus}`
|
[`${numCpus + 1}`]: `--threads=${numCpus}`,
|
||||||
|
[`${-numCpus - 1}`]: `--threads=${-numCpus}`
|
||||||
};
|
};
|
||||||
for (const [input, expectedFlag] of Object.entries(tests)) {
|
for (const [input, expectedFlag] of Object.entries(tests)) {
|
||||||
process.env['INPUT_THREADS'] = input;
|
process.env['INPUT_THREADS'] = input;
|
||||||
|
|
@ -51,7 +52,7 @@ ava_1.default('getThreadsFlag() should return the correct --threads flag', t =>
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
ava_1.default('getThreadsFlag() throws if the ram input is < 0 or NaN', t => {
|
ava_1.default('getThreadsFlag() throws if the ram input is < 0 or NaN', t => {
|
||||||
for (const input of ["-1", "hello!"]) {
|
for (const input of ["hello!"]) {
|
||||||
process.env['INPUT_THREADS'] = input;
|
process.env['INPUT_THREADS'] = input;
|
||||||
t.throws(util.getThreadsFlag);
|
t.throws(util.getThreadsFlag);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"util.test.js","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAuB;AACvB,uCAAyB;AACzB,uCAAyB;AAEzB,6CAA+B;AAE/B,aAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE;IACvB,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,GAAG,mCAAmC,EAAE,MAAM,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,sDAAsD,EAAE,CAAC,CAAC,EAAE;IAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG;QACZ,EAAE,EAAE,SAAS,QAAQ,GAAG,GAAG,EAAE;QAC7B,KAAK,EAAE,WAAW;KACnB,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAEzD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KACjC;AACH,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,uDAAuD,EAAE,CAAC,CAAC,EAAE;IAChE,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC9B;AACH,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,2DAA2D,EAAE,CAAC,CAAC,EAAE;IAEpE,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAEjC,MAAM,KAAK,GAAG;QACZ,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,aAAa;QAClB,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa,OAAO,EAAE;KAC3C,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAEzD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KACjC;AACH,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC,EAAE;IACjE,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;QACrC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC/B;AACH,CAAC,CAAC,CAAC"}
|
{"version":3,"file":"util.test.js","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAuB;AACvB,uCAAyB;AACzB,uCAAyB;AAEzB,6CAA+B;AAE/B,aAAI,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE;IACvB,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,GAAG,mCAAmC,EAAE,MAAM,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,sDAAsD,EAAE,CAAC,CAAC,EAAE;IAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG;QACZ,EAAE,EAAE,SAAS,QAAQ,GAAG,GAAG,EAAE;QAC7B,KAAK,EAAE,WAAW;KACnB,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAEzD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KACjC;AACH,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,uDAAuD,EAAE,CAAC,CAAC,EAAE;IAChE,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC9B;AACH,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,2DAA2D,EAAE,CAAC,CAAC,EAAE;IAEpE,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAEjC,MAAM,KAAK,GAAG;QACZ,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,aAAa;QAClB,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa,OAAO,EAAE;QAC1C,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,OAAO,EAAE;KAC7C,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAEzD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KACjC;AACH,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC,EAAE;IACjE,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;QACrC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC/B;AACH,CAAC,CAAC,CAAC"}
|
||||||
|
|
@ -19,7 +19,7 @@ import * as util from './util';
|
||||||
*
|
*
|
||||||
* Format is a map from language to an array of path suffixes of .ql files.
|
* Format is a map from language to an array of path suffixes of .ql files.
|
||||||
*/
|
*/
|
||||||
const DISABLED_BUILTIN_QUERIES: { [language: string]: string[]; } = {
|
const DISABLED_BUILTIN_QUERIES: {[language: string]: string[]} = {
|
||||||
'csharp': [
|
'csharp': [
|
||||||
'ql/src/Security Features/CWE-937/VulnerablePackage.ql',
|
'ql/src/Security Features/CWE-937/VulnerablePackage.ql',
|
||||||
'ql/src/Security Features/CWE-451/MissingXFrameOptions.ql',
|
'ql/src/Security Features/CWE-451/MissingXFrameOptions.ql',
|
||||||
|
|
@ -75,14 +75,14 @@ async function finalizeDatabaseCreation(codeqlCmd: string, databaseFolder: strin
|
||||||
interface ResolveQueriesOutput {
|
interface ResolveQueriesOutput {
|
||||||
byLanguage: {
|
byLanguage: {
|
||||||
[language: string]: {
|
[language: string]: {
|
||||||
[queryPath: string]: {};
|
[queryPath: string]: {}
|
||||||
};
|
}
|
||||||
};
|
};
|
||||||
noDeclaredLanguage: {
|
noDeclaredLanguage: {
|
||||||
[queryPath: string]: {};
|
[queryPath: string]: {}
|
||||||
};
|
};
|
||||||
multipleDeclaredLanguages: {
|
multipleDeclaredLanguages: {
|
||||||
[queryPath: string]: {};
|
[queryPath: string]: {}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -98,11 +98,11 @@ async function runResolveQueries(codeqlCmd: string, queries: string[]): Promise<
|
||||||
|
|
||||||
await exec.exec(
|
await exec.exec(
|
||||||
codeqlCmd, [
|
codeqlCmd, [
|
||||||
'resolve',
|
'resolve',
|
||||||
'queries',
|
'queries',
|
||||||
...queries,
|
...queries,
|
||||||
'--format=bylanguage'
|
'--format=bylanguage'
|
||||||
],
|
],
|
||||||
options);
|
options);
|
||||||
|
|
||||||
return JSON.parse(output);
|
return JSON.parse(output);
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,8 @@ test('getThreadsFlag() should return the correct --threads flag', t => {
|
||||||
const tests = {
|
const tests = {
|
||||||
"0": "--threads=0",
|
"0": "--threads=0",
|
||||||
"1": "--threads=1",
|
"1": "--threads=1",
|
||||||
[`${numCpus + 1}`]: `--threads=${numCpus}`
|
[`${numCpus + 1}`]: `--threads=${numCpus}`,
|
||||||
|
[`${-numCpus - 1}`]: `--threads=${-numCpus}`
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const [input, expectedFlag] of Object.entries(tests)) {
|
for (const [input, expectedFlag] of Object.entries(tests)) {
|
||||||
|
|
@ -55,7 +56,7 @@ test('getThreadsFlag() should return the correct --threads flag', t => {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('getThreadsFlag() throws if the ram input is < 0 or NaN', t => {
|
test('getThreadsFlag() throws if the ram input is < 0 or NaN', t => {
|
||||||
for (const input of ["-1", "hello!"]) {
|
for (const input of ["hello!"]) {
|
||||||
process.env['INPUT_THREADS'] = input;
|
process.env['INPUT_THREADS'] = input;
|
||||||
t.throws(util.getThreadsFlag);
|
t.throws(util.getThreadsFlag);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
14
src/util.ts
14
src/util.ts
|
|
@ -395,8 +395,8 @@ export async function withTmpDir<T>(body: (tmpDir: string) => Promise<T>): Promi
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the value specified for the `ram` input. If no value was specified, the
|
* Get the codeql `--ram` flag as configured by the `ram` input. If no value was
|
||||||
* total available memory will be used minus 256 MB.
|
* specified, the total available memory will be used minus 256 MB.
|
||||||
*
|
*
|
||||||
* @returns string
|
* @returns string
|
||||||
*/
|
*/
|
||||||
|
|
@ -418,8 +418,8 @@ export function getMemoryFlag(): string {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the value specified for the `threads` input. The value defaults to 1.
|
* Get the codeql `--threads` value specified for the `threads` input. The value
|
||||||
* The value will be capped to the number of available CPUs.
|
* defaults to 1. The value will be capped to the number of available CPUs.
|
||||||
*
|
*
|
||||||
* @returns string
|
* @returns string
|
||||||
*/
|
*/
|
||||||
|
|
@ -428,13 +428,17 @@ export function getThreadsFlag(): string {
|
||||||
const numThreadsString = core.getInput("threads");
|
const numThreadsString = core.getInput("threads");
|
||||||
if (numThreadsString) {
|
if (numThreadsString) {
|
||||||
numThreads = Number(numThreadsString);
|
numThreads = Number(numThreadsString);
|
||||||
if (Number.isNaN(numThreads) || numThreads < 0) {
|
if (Number.isNaN(numThreads)) {
|
||||||
throw new Error(`Invalid threads setting "${numThreadsString}", specified.`);
|
throw new Error(`Invalid threads setting "${numThreadsString}", specified.`);
|
||||||
}
|
}
|
||||||
const maxThreads = os.cpus().length;
|
const maxThreads = os.cpus().length;
|
||||||
if (numThreads > maxThreads) {
|
if (numThreads > maxThreads) {
|
||||||
numThreads = maxThreads;
|
numThreads = maxThreads;
|
||||||
}
|
}
|
||||||
|
const minThreads = -maxThreads;
|
||||||
|
if (numThreads < minThreads) {
|
||||||
|
numThreads = minThreads;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return `--threads=${numThreads}`;
|
return `--threads=${numThreads}`;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue