mirror of
https://github.com/github/codeql-action.git
synced 2026-05-11 00:00:30 +00:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 68bde559de | |||
| 9739ad2d18 | |||
| 803d9e8c3c | |||
| 0fd9c7d135 | |||
| 922d6fb888 | |||
| df77e87896 | |||
| 6e3f985e4f | |||
| e7a347dfb1 | |||
| 17eabb2500 | |||
| aaef09c48d | |||
| ae1b9155d3 | |||
| 9f82f88f07 |
+1
-1
@@ -59,7 +59,7 @@ jobs:
|
|||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- name: Set up Ruby
|
- name: Set up Ruby
|
||||||
uses: ruby/setup-ruby@0cb964fd540e0a24c900370abf38a33466142735 # v1.305.0
|
uses: ruby/setup-ruby@c4e5b1316158f92e3d49443a9d58b31d25ac0f8f # v1.306.0
|
||||||
with:
|
with:
|
||||||
ruby-version: 2.6
|
ruby-version: 2.6
|
||||||
- name: Install Code Scanning integration
|
- name: Install Code Scanning integration
|
||||||
|
|||||||
Vendored
+1
-1
@@ -19,7 +19,7 @@
|
|||||||
"scope": "javascript, typescript",
|
"scope": "javascript, typescript",
|
||||||
"prefix": "testMacro",
|
"prefix": "testMacro",
|
||||||
"body": [
|
"body": [
|
||||||
"const ${1:nameMacro} = test.macro({",
|
"const ${1:nameMacro} = makeMacro({",
|
||||||
" exec: async (t: ExecutionContext<unknown>) => {},",
|
" exec: async (t: ExecutionContext<unknown>) => {},",
|
||||||
"",
|
"",
|
||||||
" title: (providedTitle = \"\") => `${2:common title} - \\${providedTitle}`,",
|
" title: (providedTitle = \"\") => `${2:common title} - \\${providedTitle}`,",
|
||||||
|
|||||||
+2
-2
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
|
See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
|
||||||
|
|
||||||
## [UNRELEASED]
|
## 4.35.4 - 07 May 2026
|
||||||
|
|
||||||
No user facing changes.
|
- Update default CodeQL bundle version to [2.25.4](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.4). [#3881](https://github.com/github/codeql-action/pull/3881)
|
||||||
|
|
||||||
## 4.35.3 - 01 May 2026
|
## 4.35.3 - 01 May 2026
|
||||||
|
|
||||||
|
|||||||
Generated
+2
-2
@@ -89739,8 +89739,8 @@ var path6 = __toESM(require("path"));
|
|||||||
var semver5 = __toESM(require_semver2());
|
var semver5 = __toESM(require_semver2());
|
||||||
|
|
||||||
// src/defaults.json
|
// src/defaults.json
|
||||||
var bundleVersion = "codeql-bundle-v2.25.3";
|
var bundleVersion = "codeql-bundle-v2.25.4";
|
||||||
var cliVersion = "2.25.3";
|
var cliVersion = "2.25.4";
|
||||||
|
|
||||||
// src/overlay/index.ts
|
// src/overlay/index.ts
|
||||||
var fs4 = __toESM(require("fs"));
|
var fs4 = __toESM(require("fs"));
|
||||||
|
|||||||
Generated
+2
-2
@@ -86226,8 +86226,8 @@ var path5 = __toESM(require("path"));
|
|||||||
var semver5 = __toESM(require_semver2());
|
var semver5 = __toESM(require_semver2());
|
||||||
|
|
||||||
// src/defaults.json
|
// src/defaults.json
|
||||||
var bundleVersion = "codeql-bundle-v2.25.3";
|
var bundleVersion = "codeql-bundle-v2.25.4";
|
||||||
var cliVersion = "2.25.3";
|
var cliVersion = "2.25.4";
|
||||||
|
|
||||||
// src/overlay/index.ts
|
// src/overlay/index.ts
|
||||||
var fs3 = __toESM(require("fs"));
|
var fs3 = __toESM(require("fs"));
|
||||||
|
|||||||
+4
-4
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"bundleVersion": "codeql-bundle-v2.25.3",
|
"bundleVersion": "codeql-bundle-v2.25.4",
|
||||||
"cliVersion": "2.25.3",
|
"cliVersion": "2.25.4",
|
||||||
"priorBundleVersion": "codeql-bundle-v2.25.2",
|
"priorBundleVersion": "codeql-bundle-v2.25.3",
|
||||||
"priorCliVersion": "2.25.2"
|
"priorCliVersion": "2.25.3"
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+2
-2
@@ -130901,8 +130901,8 @@ var path6 = __toESM(require("path"));
|
|||||||
var semver5 = __toESM(require_semver2());
|
var semver5 = __toESM(require_semver2());
|
||||||
|
|
||||||
// src/defaults.json
|
// src/defaults.json
|
||||||
var bundleVersion = "codeql-bundle-v2.25.3";
|
var bundleVersion = "codeql-bundle-v2.25.4";
|
||||||
var cliVersion = "2.25.3";
|
var cliVersion = "2.25.4";
|
||||||
|
|
||||||
// src/overlay/index.ts
|
// src/overlay/index.ts
|
||||||
var fs4 = __toESM(require("fs"));
|
var fs4 = __toESM(require("fs"));
|
||||||
|
|||||||
Generated
+2
-2
@@ -87279,8 +87279,8 @@ var path7 = __toESM(require("path"));
|
|||||||
var semver5 = __toESM(require_semver2());
|
var semver5 = __toESM(require_semver2());
|
||||||
|
|
||||||
// src/defaults.json
|
// src/defaults.json
|
||||||
var bundleVersion = "codeql-bundle-v2.25.3";
|
var bundleVersion = "codeql-bundle-v2.25.4";
|
||||||
var cliVersion = "2.25.3";
|
var cliVersion = "2.25.4";
|
||||||
|
|
||||||
// src/overlay/index.ts
|
// src/overlay/index.ts
|
||||||
var fs4 = __toESM(require("fs"));
|
var fs4 = __toESM(require("fs"));
|
||||||
|
|||||||
Generated
+2
-2
@@ -86067,8 +86067,8 @@ var path5 = __toESM(require("path"));
|
|||||||
var semver4 = __toESM(require_semver2());
|
var semver4 = __toESM(require_semver2());
|
||||||
|
|
||||||
// src/defaults.json
|
// src/defaults.json
|
||||||
var bundleVersion = "codeql-bundle-v2.25.3";
|
var bundleVersion = "codeql-bundle-v2.25.4";
|
||||||
var cliVersion = "2.25.3";
|
var cliVersion = "2.25.4";
|
||||||
|
|
||||||
// src/overlay/index.ts
|
// src/overlay/index.ts
|
||||||
var fs4 = __toESM(require("fs"));
|
var fs4 = __toESM(require("fs"));
|
||||||
|
|||||||
Generated
+2
-2
@@ -103064,8 +103064,8 @@ var path = __toESM(require("path"));
|
|||||||
var semver4 = __toESM(require_semver2());
|
var semver4 = __toESM(require_semver2());
|
||||||
|
|
||||||
// src/defaults.json
|
// src/defaults.json
|
||||||
var bundleVersion = "codeql-bundle-v2.25.3";
|
var bundleVersion = "codeql-bundle-v2.25.4";
|
||||||
var cliVersion = "2.25.3";
|
var cliVersion = "2.25.4";
|
||||||
|
|
||||||
// src/git-utils.ts
|
// src/git-utils.ts
|
||||||
var core6 = __toESM(require_core());
|
var core6 = __toESM(require_core());
|
||||||
|
|||||||
Generated
+2
-2
@@ -89347,8 +89347,8 @@ var fs5 = __toESM(require("fs"));
|
|||||||
var semver5 = __toESM(require_semver2());
|
var semver5 = __toESM(require_semver2());
|
||||||
|
|
||||||
// src/defaults.json
|
// src/defaults.json
|
||||||
var bundleVersion = "codeql-bundle-v2.25.3";
|
var bundleVersion = "codeql-bundle-v2.25.4";
|
||||||
var cliVersion = "2.25.3";
|
var cliVersion = "2.25.4";
|
||||||
|
|
||||||
// src/overlay/index.ts
|
// src/overlay/index.ts
|
||||||
var fs4 = __toESM(require("fs"));
|
var fs4 = __toESM(require("fs"));
|
||||||
|
|||||||
Generated
+2
-2
@@ -89018,8 +89018,8 @@ var path5 = __toESM(require("path"));
|
|||||||
var semver4 = __toESM(require_semver2());
|
var semver4 = __toESM(require_semver2());
|
||||||
|
|
||||||
// src/defaults.json
|
// src/defaults.json
|
||||||
var bundleVersion = "codeql-bundle-v2.25.3";
|
var bundleVersion = "codeql-bundle-v2.25.4";
|
||||||
var cliVersion = "2.25.3";
|
var cliVersion = "2.25.4";
|
||||||
|
|
||||||
// src/overlay/index.ts
|
// src/overlay/index.ts
|
||||||
var fs4 = __toESM(require("fs"));
|
var fs4 = __toESM(require("fs"));
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ versions:
|
|||||||
- default
|
- default
|
||||||
steps:
|
steps:
|
||||||
- name: Set up Ruby
|
- name: Set up Ruby
|
||||||
uses: ruby/setup-ruby@0cb964fd540e0a24c900370abf38a33466142735 # v1.305.0
|
uses: ruby/setup-ruby@c4e5b1316158f92e3d49443a9d58b31d25ac0f8f # v1.306.0
|
||||||
with:
|
with:
|
||||||
ruby-version: 2.6
|
ruby-version: 2.6
|
||||||
- name: Install Code Scanning integration
|
- name: Install Code Scanning integration
|
||||||
|
|||||||
+14
-25
@@ -33,6 +33,7 @@ import {
|
|||||||
mockBundleDownloadApi,
|
mockBundleDownloadApi,
|
||||||
makeVersionInfo,
|
makeVersionInfo,
|
||||||
createTestConfig,
|
createTestConfig,
|
||||||
|
makeMacro,
|
||||||
} from "./testing-utils";
|
} from "./testing-utils";
|
||||||
import { ToolsDownloadStatusReport } from "./tools-download";
|
import { ToolsDownloadStatusReport } from "./tools-download";
|
||||||
import * as util from "./util";
|
import * as util from "./util";
|
||||||
@@ -540,7 +541,7 @@ test.serial("getExtraOptions throws for bad content", (t) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Test macro for ensuring different variants of injected augmented configurations
|
// Test macro for ensuring different variants of injected augmented configurations
|
||||||
const injectedConfigMacro = test.macro({
|
const injectedConfigMacro = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext<unknown>,
|
t: ExecutionContext<unknown>,
|
||||||
augmentationProperties: AugmentationProperties,
|
augmentationProperties: AugmentationProperties,
|
||||||
@@ -590,9 +591,8 @@ const injectedConfigMacro = test.macro({
|
|||||||
`databaseInitCluster() injected config: ${providedTitle}`,
|
`databaseInitCluster() injected config: ${providedTitle}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"basic",
|
"basic",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
},
|
},
|
||||||
@@ -600,9 +600,8 @@ test.serial(
|
|||||||
{},
|
{},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"injected packs from input",
|
"injected packs from input",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
packsInput: ["xxx", "yyy"],
|
packsInput: ["xxx", "yyy"],
|
||||||
@@ -613,9 +612,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"injected packs from input with existing packs combines",
|
"injected packs from input with existing packs combines",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
packsInputCombines: true,
|
packsInputCombines: true,
|
||||||
@@ -635,9 +633,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"injected packs from input with existing packs overrides",
|
"injected packs from input with existing packs overrides",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
packsInput: ["xxx", "yyy"],
|
packsInput: ["xxx", "yyy"],
|
||||||
@@ -655,9 +652,8 @@ test.serial(
|
|||||||
);
|
);
|
||||||
|
|
||||||
// similar, but with queries
|
// similar, but with queries
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"injected queries from input",
|
"injected queries from input",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
queriesInput: [{ uses: "xxx" }, { uses: "yyy" }],
|
queriesInput: [{ uses: "xxx" }, { uses: "yyy" }],
|
||||||
@@ -675,9 +671,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"injected queries from input overrides",
|
"injected queries from input overrides",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
queriesInput: [{ uses: "xxx" }, { uses: "yyy" }],
|
queriesInput: [{ uses: "xxx" }, { uses: "yyy" }],
|
||||||
@@ -699,9 +694,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"injected queries from input combines",
|
"injected queries from input combines",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
queriesInputCombines: true,
|
queriesInputCombines: true,
|
||||||
@@ -727,9 +721,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"injected queries from input combines 2",
|
"injected queries from input combines 2",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
queriesInputCombines: true,
|
queriesInputCombines: true,
|
||||||
@@ -749,9 +742,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"injected queries and packs, but empty",
|
"injected queries and packs, but empty",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
queriesInputCombines: true,
|
queriesInputCombines: true,
|
||||||
@@ -768,9 +760,8 @@ test.serial(
|
|||||||
{},
|
{},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"repo property queries have the highest precedence",
|
"repo property queries have the highest precedence",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
queriesInputCombines: true,
|
queriesInputCombines: true,
|
||||||
@@ -790,9 +781,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"repo property queries combines with queries input",
|
"repo property queries combines with queries input",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
queriesInputCombines: false,
|
queriesInputCombines: false,
|
||||||
@@ -817,9 +807,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
injectedConfigMacro.serial(
|
||||||
"repo property queries combines everything else",
|
"repo property queries combines everything else",
|
||||||
injectedConfigMacro,
|
|
||||||
{
|
{
|
||||||
...defaultAugmentationProperties,
|
...defaultAugmentationProperties,
|
||||||
queriesInputCombines: true,
|
queriesInputCombines: true,
|
||||||
|
|||||||
+60
-117
@@ -34,6 +34,7 @@ import {
|
|||||||
LoggedMessage,
|
LoggedMessage,
|
||||||
mockCodeQLVersion,
|
mockCodeQLVersion,
|
||||||
createTestConfig,
|
createTestConfig,
|
||||||
|
makeMacro,
|
||||||
} from "./testing-utils";
|
} from "./testing-utils";
|
||||||
import {
|
import {
|
||||||
GitHubVariant,
|
GitHubVariant,
|
||||||
@@ -1034,10 +1035,9 @@ const defaultOverlayDatabaseModeTestSetup: OverlayDatabaseModeTestSetup = {
|
|||||||
repositoryProperties: {},
|
repositoryProperties: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
const checkOverlayEnablementMacro = test.macro({
|
const checkOverlayEnablementMacro = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext,
|
t: ExecutionContext,
|
||||||
_title: string,
|
|
||||||
setupOverrides: Partial<OverlayDatabaseModeTestSetup>,
|
setupOverrides: Partial<OverlayDatabaseModeTestSetup>,
|
||||||
expected:
|
expected:
|
||||||
| {
|
| {
|
||||||
@@ -1131,11 +1131,10 @@ const checkOverlayEnablementMacro = test.macro({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
title: (_, title) => `checkOverlayEnablement: ${title}`,
|
title: (title) => `checkOverlayEnablement: ${title}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Environment variable override - Overlay",
|
"Environment variable override - Overlay",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1146,8 +1145,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Environment variable override - OverlayBase",
|
"Environment variable override - OverlayBase",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay-base",
|
overlayDatabaseEnvVar: "overlay-base",
|
||||||
@@ -1158,8 +1156,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Environment variable override - None",
|
"Environment variable override - None",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "none",
|
overlayDatabaseEnvVar: "none",
|
||||||
@@ -1169,8 +1166,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Ignore invalid environment variable",
|
"Ignore invalid environment variable",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "invalid-mode",
|
overlayDatabaseEnvVar: "invalid-mode",
|
||||||
@@ -1180,8 +1176,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Ignore feature flag when analyzing non-default branch",
|
"Ignore feature flag when analyzing non-default branch",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1192,8 +1187,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay-base database on default branch when feature enabled",
|
"Overlay-base database on default branch when feature enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1206,8 +1200,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay-base database on default branch when feature enabled with custom analysis",
|
"Overlay-base database on default branch when feature enabled with custom analysis",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1223,8 +1216,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay-base database on default branch when code-scanning feature enabled",
|
"Overlay-base database on default branch when code-scanning feature enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1240,8 +1232,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch if runner disk space is too low",
|
"No overlay-base database on default branch if runner disk space is too low",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1260,8 +1251,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch if we can't determine runner disk space",
|
"No overlay-base database on default branch if we can't determine runner disk space",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1277,8 +1267,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay-base database on default branch if runner disk space is too low and skip resource checks flag is enabled",
|
"Overlay-base database on default branch if runner disk space is too low and skip resource checks flag is enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1299,8 +1288,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch if runner disk space is below v2 limit and v2 resource checks enabled",
|
"No overlay-base database on default branch if runner disk space is below v2 limit and v2 resource checks enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1320,8 +1308,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay-base database on default branch if runner disk space is between v2 and v1 limits and v2 resource checks enabled",
|
"Overlay-base database on default branch if runner disk space is between v2 and v1 limits and v2 resource checks enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1342,8 +1329,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch if runner disk space is between v2 and v1 limits and v2 resource checks not enabled",
|
"No overlay-base database on default branch if runner disk space is between v2 and v1 limits and v2 resource checks not enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1362,8 +1348,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch if memory flag is too low",
|
"No overlay-base database on default branch if memory flag is too low",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1379,8 +1364,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay-base database on default branch if memory flag is too low but CodeQL >= 2.24.3",
|
"Overlay-base database on default branch if memory flag is too low but CodeQL >= 2.24.3",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1398,8 +1382,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay-base database on default branch if memory flag is too low and skip resource checks flag is enabled",
|
"Overlay-base database on default branch if memory flag is too low and skip resource checks flag is enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1417,8 +1400,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch when cached status indicates previous failure",
|
"No overlay-base database on default branch when cached status indicates previous failure",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1435,8 +1417,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR when cached status indicates previous failure",
|
"No overlay analysis on PR when cached status indicates previous failure",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1453,8 +1434,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch when code-scanning feature enabled with disable-default-queries",
|
"No overlay-base database on default branch when code-scanning feature enabled with disable-default-queries",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1472,8 +1452,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch when code-scanning feature enabled with packs",
|
"No overlay-base database on default branch when code-scanning feature enabled with packs",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1491,8 +1470,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch when code-scanning feature enabled with queries",
|
"No overlay-base database on default branch when code-scanning feature enabled with queries",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1510,8 +1488,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch when code-scanning feature enabled with query-filters",
|
"No overlay-base database on default branch when code-scanning feature enabled with query-filters",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1529,8 +1506,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch when only language-specific feature enabled",
|
"No overlay-base database on default branch when only language-specific feature enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1542,8 +1518,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch when only code-scanning feature enabled",
|
"No overlay-base database on default branch when only code-scanning feature enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1555,8 +1530,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay-base database on default branch when language-specific feature disabled",
|
"No overlay-base database on default branch when language-specific feature disabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1568,8 +1542,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay analysis on PR when feature enabled",
|
"Overlay analysis on PR when feature enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1582,8 +1555,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay analysis on PR when feature enabled with custom analysis",
|
"Overlay analysis on PR when feature enabled with custom analysis",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1599,8 +1571,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay analysis on PR when code-scanning feature enabled",
|
"Overlay analysis on PR when code-scanning feature enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1616,8 +1587,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR if runner disk space is too low",
|
"No overlay analysis on PR if runner disk space is too low",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1636,8 +1606,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay analysis on PR if runner disk space is too low and skip resource checks flag is enabled",
|
"Overlay analysis on PR if runner disk space is too low and skip resource checks flag is enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1658,8 +1627,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR if we can't determine runner disk space",
|
"No overlay analysis on PR if we can't determine runner disk space",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1675,8 +1643,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR if memory flag is too low",
|
"No overlay analysis on PR if memory flag is too low",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1692,8 +1659,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay analysis on PR if memory flag is too low but CodeQL >= 2.24.3",
|
"Overlay analysis on PR if memory flag is too low but CodeQL >= 2.24.3",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1711,8 +1677,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay analysis on PR if memory flag is too low and skip resource checks flag is enabled",
|
"Overlay analysis on PR if memory flag is too low and skip resource checks flag is enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1730,8 +1695,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR when code-scanning feature enabled with disable-default-queries",
|
"No overlay analysis on PR when code-scanning feature enabled with disable-default-queries",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1749,8 +1713,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR when code-scanning feature enabled with packs",
|
"No overlay analysis on PR when code-scanning feature enabled with packs",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1768,8 +1731,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR when code-scanning feature enabled with queries",
|
"No overlay analysis on PR when code-scanning feature enabled with queries",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1787,8 +1749,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR when code-scanning feature enabled with query-filters",
|
"No overlay analysis on PR when code-scanning feature enabled with query-filters",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1806,8 +1767,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR when only language-specific feature enabled",
|
"No overlay analysis on PR when only language-specific feature enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1819,8 +1779,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR when only code-scanning feature enabled",
|
"No overlay analysis on PR when only code-scanning feature enabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1832,8 +1791,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis on PR when language-specific feature disabled",
|
"No overlay analysis on PR when language-specific feature disabled",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1845,8 +1803,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay PR analysis by env",
|
"Overlay PR analysis by env",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1857,8 +1814,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay PR analysis by env on a runner with low disk space",
|
"Overlay PR analysis by env on a runner with low disk space",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1870,8 +1826,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay PR analysis by feature flag",
|
"Overlay PR analysis by feature flag",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1884,8 +1839,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Fallback due to autobuild with traced language",
|
"Fallback due to autobuild with traced language",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1897,8 +1851,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Fallback due to no build mode with traced language",
|
"Fallback due to no build mode with traced language",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1910,8 +1863,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Fallback due to old CodeQL version",
|
"Fallback due to old CodeQL version",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1922,8 +1874,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Fallback due to missing git root",
|
"Fallback due to missing git root",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1934,8 +1885,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Fallback due to old git version with submodules",
|
"Fallback due to old git version with submodules",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1947,8 +1897,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Fallback when git version cannot be determined and repo has submodules",
|
"Fallback when git version cannot be determined and repo has submodules",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1960,8 +1909,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay enabled when git version cannot be determined and repo has no submodules",
|
"Overlay enabled when git version cannot be determined and repo has no submodules",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -1974,8 +1922,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay when disabled via repository property",
|
"No overlay when disabled via repository property",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -1990,8 +1937,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Overlay not disabled when repository property is false",
|
"Overlay not disabled when repository property is false",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.javascript],
|
languages: [BuiltInLanguage.javascript],
|
||||||
@@ -2007,8 +1953,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"Environment variable override takes precedence over repository property",
|
"Environment variable override takes precedence over repository property",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
@@ -2024,8 +1969,7 @@ test.serial(
|
|||||||
|
|
||||||
// Exercise language-specific overlay analysis features code paths
|
// Exercise language-specific overlay analysis features code paths
|
||||||
for (const language in BuiltInLanguage) {
|
for (const language in BuiltInLanguage) {
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
`Check default overlay analysis feature for ${language}`,
|
`Check default overlay analysis feature for ${language}`,
|
||||||
{
|
{
|
||||||
languages: [language],
|
languages: [language],
|
||||||
@@ -2042,8 +1986,7 @@ for (const language in BuiltInLanguage) {
|
|||||||
// overlay analysis enabled, even when the base overlay feature flag is on.
|
// overlay analysis enabled, even when the base overlay feature flag is on.
|
||||||
// Using swift here as it doesn't currently have overlay support — update this if
|
// Using swift here as it doesn't currently have overlay support — update this if
|
||||||
// swift gains overlay support.
|
// swift gains overlay support.
|
||||||
test.serial(
|
checkOverlayEnablementMacro.serial(
|
||||||
checkOverlayEnablementMacro,
|
|
||||||
"No overlay analysis for language without per-language overlay feature flag",
|
"No overlay analysis for language without per-language overlay feature flag",
|
||||||
{
|
{
|
||||||
languages: [BuiltInLanguage.swift],
|
languages: [BuiltInLanguage.swift],
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
checkExpectedLogMessages,
|
checkExpectedLogMessages,
|
||||||
getRecordingLogger,
|
getRecordingLogger,
|
||||||
LoggedMessage,
|
LoggedMessage,
|
||||||
|
makeMacro,
|
||||||
} from "../testing-utils";
|
} from "../testing-utils";
|
||||||
import { ConfigurationError, prettyPrintPack } from "../util";
|
import { ConfigurationError, prettyPrintPack } from "../util";
|
||||||
|
|
||||||
@@ -15,7 +16,7 @@ import * as dbConfig from "./db-config";
|
|||||||
/**
|
/**
|
||||||
* Test macro for ensuring the packs block is valid
|
* Test macro for ensuring the packs block is valid
|
||||||
*/
|
*/
|
||||||
const parsePacksMacro = test.macro({
|
const parsePacksMacro = makeMacro({
|
||||||
exec: (
|
exec: (
|
||||||
t: ExecutionContext<unknown>,
|
t: ExecutionContext<unknown>,
|
||||||
packsInput: string,
|
packsInput: string,
|
||||||
@@ -33,7 +34,7 @@ const parsePacksMacro = test.macro({
|
|||||||
/**
|
/**
|
||||||
* Test macro for testing when the packs block is invalid
|
* Test macro for testing when the packs block is invalid
|
||||||
*/
|
*/
|
||||||
const parsePacksErrorMacro = test.macro({
|
const parsePacksErrorMacro = makeMacro({
|
||||||
exec: (
|
exec: (
|
||||||
t: ExecutionContext<unknown>,
|
t: ExecutionContext<unknown>,
|
||||||
packsInput: string,
|
packsInput: string,
|
||||||
@@ -49,34 +50,32 @@ const parsePacksErrorMacro = test.macro({
|
|||||||
/**
|
/**
|
||||||
* Test macro for testing when the packs block is invalid
|
* Test macro for testing when the packs block is invalid
|
||||||
*/
|
*/
|
||||||
const invalidPackNameMacro = test.macro({
|
const invalidPackNameMacro = makeMacro({
|
||||||
exec: (t: ExecutionContext, name: string) =>
|
exec: (t: ExecutionContext, arg: string) =>
|
||||||
parsePacksErrorMacro.exec(
|
parsePacksErrorMacro.fn(
|
||||||
t,
|
t,
|
||||||
name,
|
arg,
|
||||||
[BuiltInLanguage.cpp],
|
[BuiltInLanguage.cpp],
|
||||||
new RegExp(`^"${name}" is not a valid pack$`),
|
new RegExp(`^"${arg}" is not a valid pack$`),
|
||||||
),
|
),
|
||||||
title: (_providedTitle: string | undefined, arg: string | undefined) =>
|
title: (_providedTitle: string | undefined, arg: string | undefined) =>
|
||||||
`Invalid pack string: ${arg}`,
|
`Invalid pack string: ${arg}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test("no packs", parsePacksMacro, "", [], undefined);
|
parsePacksMacro("no packs", "", [], undefined);
|
||||||
test("two packs", parsePacksMacro, "a/b,c/d@1.2.3", [BuiltInLanguage.cpp], {
|
parsePacksMacro("two packs", "a/b,c/d@1.2.3", [BuiltInLanguage.cpp], {
|
||||||
[BuiltInLanguage.cpp]: ["a/b", "c/d@1.2.3"],
|
[BuiltInLanguage.cpp]: ["a/b", "c/d@1.2.3"],
|
||||||
});
|
});
|
||||||
test(
|
parsePacksMacro(
|
||||||
"two packs with spaces",
|
"two packs with spaces",
|
||||||
parsePacksMacro,
|
|
||||||
" a/b , c/d@1.2.3 ",
|
" a/b , c/d@1.2.3 ",
|
||||||
[BuiltInLanguage.cpp],
|
[BuiltInLanguage.cpp],
|
||||||
{
|
{
|
||||||
[BuiltInLanguage.cpp]: ["a/b", "c/d@1.2.3"],
|
[BuiltInLanguage.cpp]: ["a/b", "c/d@1.2.3"],
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
test(
|
parsePacksErrorMacro(
|
||||||
"two packs with language",
|
"two packs with language",
|
||||||
parsePacksErrorMacro,
|
|
||||||
"a/b,c/d@1.2.3",
|
"a/b,c/d@1.2.3",
|
||||||
[BuiltInLanguage.cpp, BuiltInLanguage.java],
|
[BuiltInLanguage.cpp, BuiltInLanguage.java],
|
||||||
new RegExp(
|
new RegExp(
|
||||||
@@ -85,9 +84,8 @@ test(
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
parsePacksMacro(
|
||||||
"packs with other valid names",
|
"packs with other valid names",
|
||||||
parsePacksMacro,
|
|
||||||
[
|
[
|
||||||
// ranges are ok
|
// ranges are ok
|
||||||
"c/d@1.0",
|
"c/d@1.0",
|
||||||
@@ -123,23 +121,23 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(invalidPackNameMacro, "c"); // all packs require at least a scope and a name
|
invalidPackNameMacro.test("c"); // all packs require at least a scope and a name
|
||||||
test(invalidPackNameMacro, "c-/d");
|
invalidPackNameMacro.test("c-/d");
|
||||||
test(invalidPackNameMacro, "-c/d");
|
invalidPackNameMacro.test("-c/d");
|
||||||
test(invalidPackNameMacro, "c/d_d");
|
invalidPackNameMacro.test("c/d_d");
|
||||||
test(invalidPackNameMacro, "c/d@@");
|
invalidPackNameMacro.test("c/d@@");
|
||||||
test(invalidPackNameMacro, "c/d@1.0.0:");
|
invalidPackNameMacro.test("c/d@1.0.0:");
|
||||||
test(invalidPackNameMacro, "c/d:");
|
invalidPackNameMacro.test("c/d:");
|
||||||
test(invalidPackNameMacro, "c/d:/a");
|
invalidPackNameMacro.test("c/d:/a");
|
||||||
test(invalidPackNameMacro, "@1.0.0:a");
|
invalidPackNameMacro.test("@1.0.0:a");
|
||||||
test(invalidPackNameMacro, "c/d@../a");
|
invalidPackNameMacro.test("c/d@../a");
|
||||||
test(invalidPackNameMacro, "c/d@b/../a");
|
invalidPackNameMacro.test("c/d@b/../a");
|
||||||
test(invalidPackNameMacro, "c/d:z@1");
|
invalidPackNameMacro.test("c/d:z@1");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test macro for pretty printing pack specs
|
* Test macro for pretty printing pack specs
|
||||||
*/
|
*/
|
||||||
const packSpecPrettyPrintingMacro = test.macro({
|
const packSpecPrettyPrintingMacro = makeMacro({
|
||||||
exec: (t: ExecutionContext, packStr: string, packObj: dbConfig.Pack) => {
|
exec: (t: ExecutionContext, packStr: string, packObj: dbConfig.Pack) => {
|
||||||
const parsed = dbConfig.parsePacksSpecification(packStr);
|
const parsed = dbConfig.parsePacksSpecification(packStr);
|
||||||
t.deepEqual(parsed, packObj, "parsed pack spec is correct");
|
t.deepEqual(parsed, packObj, "parsed pack spec is correct");
|
||||||
@@ -163,36 +161,35 @@ const packSpecPrettyPrintingMacro = test.macro({
|
|||||||
) => `Prettyprint pack spec: '${packStr}'`,
|
) => `Prettyprint pack spec: '${packStr}'`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test(packSpecPrettyPrintingMacro, "a/b", {
|
packSpecPrettyPrintingMacro.test("a/b", {
|
||||||
name: "a/b",
|
name: "a/b",
|
||||||
version: undefined,
|
version: undefined,
|
||||||
path: undefined,
|
path: undefined,
|
||||||
});
|
});
|
||||||
test(packSpecPrettyPrintingMacro, "a/b@~1.2.3", {
|
packSpecPrettyPrintingMacro.test("a/b@~1.2.3", {
|
||||||
name: "a/b",
|
name: "a/b",
|
||||||
version: "~1.2.3",
|
version: "~1.2.3",
|
||||||
path: undefined,
|
path: undefined,
|
||||||
});
|
});
|
||||||
test(packSpecPrettyPrintingMacro, "a/b@~1.2.3:abc/def", {
|
packSpecPrettyPrintingMacro.test("a/b@~1.2.3:abc/def", {
|
||||||
name: "a/b",
|
name: "a/b",
|
||||||
version: "~1.2.3",
|
version: "~1.2.3",
|
||||||
path: "abc/def",
|
path: "abc/def",
|
||||||
});
|
});
|
||||||
test(packSpecPrettyPrintingMacro, "a/b:abc/def", {
|
packSpecPrettyPrintingMacro.test("a/b:abc/def", {
|
||||||
name: "a/b",
|
name: "a/b",
|
||||||
version: undefined,
|
version: undefined,
|
||||||
path: "abc/def",
|
path: "abc/def",
|
||||||
});
|
});
|
||||||
test(packSpecPrettyPrintingMacro, " a/b:abc/def ", {
|
packSpecPrettyPrintingMacro.test(" a/b:abc/def ", {
|
||||||
name: "a/b",
|
name: "a/b",
|
||||||
version: undefined,
|
version: undefined,
|
||||||
path: "abc/def",
|
path: "abc/def",
|
||||||
});
|
});
|
||||||
|
|
||||||
const calculateAugmentationMacro = test.macro({
|
const calculateAugmentationMacro = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext,
|
t: ExecutionContext,
|
||||||
_title: string,
|
|
||||||
rawPacksInput: string | undefined,
|
rawPacksInput: string | undefined,
|
||||||
rawQueriesInput: string | undefined,
|
rawQueriesInput: string | undefined,
|
||||||
languages: Language[],
|
languages: Language[],
|
||||||
@@ -207,11 +204,10 @@ const calculateAugmentationMacro = test.macro({
|
|||||||
);
|
);
|
||||||
t.deepEqual(actualAugmentationProperties, expectedAugmentationProperties);
|
t.deepEqual(actualAugmentationProperties, expectedAugmentationProperties);
|
||||||
},
|
},
|
||||||
title: (_, title) => `Calculate Augmentation: ${title}`,
|
title: (title) => `Calculate Augmentation: ${title}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test(
|
calculateAugmentationMacro(
|
||||||
calculateAugmentationMacro,
|
|
||||||
"All empty",
|
"All empty",
|
||||||
undefined,
|
undefined,
|
||||||
undefined,
|
undefined,
|
||||||
@@ -222,8 +218,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationMacro(
|
||||||
calculateAugmentationMacro,
|
|
||||||
"With queries",
|
"With queries",
|
||||||
undefined,
|
undefined,
|
||||||
" a, b , c, d",
|
" a, b , c, d",
|
||||||
@@ -235,8 +230,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationMacro(
|
||||||
calculateAugmentationMacro,
|
|
||||||
"With queries combining",
|
"With queries combining",
|
||||||
undefined,
|
undefined,
|
||||||
" + a, b , c, d ",
|
" + a, b , c, d ",
|
||||||
@@ -249,8 +243,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationMacro(
|
||||||
calculateAugmentationMacro,
|
|
||||||
"With packs",
|
"With packs",
|
||||||
" codeql/a , codeql/b , codeql/c , codeql/d ",
|
" codeql/a , codeql/b , codeql/c , codeql/d ",
|
||||||
undefined,
|
undefined,
|
||||||
@@ -262,8 +255,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationMacro(
|
||||||
calculateAugmentationMacro,
|
|
||||||
"With packs combining",
|
"With packs combining",
|
||||||
" + codeql/a, codeql/b, codeql/c, codeql/d",
|
" + codeql/a, codeql/b, codeql/c, codeql/d",
|
||||||
undefined,
|
undefined,
|
||||||
@@ -276,8 +268,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationMacro(
|
||||||
calculateAugmentationMacro,
|
|
||||||
"With repo property queries",
|
"With repo property queries",
|
||||||
undefined,
|
undefined,
|
||||||
undefined,
|
undefined,
|
||||||
@@ -294,8 +285,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationMacro(
|
||||||
calculateAugmentationMacro,
|
|
||||||
"With repo property queries combining",
|
"With repo property queries combining",
|
||||||
undefined,
|
undefined,
|
||||||
undefined,
|
undefined,
|
||||||
@@ -312,10 +302,9 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const calculateAugmentationErrorMacro = test.macro({
|
const calculateAugmentationErrorMacro = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext,
|
t: ExecutionContext,
|
||||||
_title: string,
|
|
||||||
rawPacksInput: string | undefined,
|
rawPacksInput: string | undefined,
|
||||||
rawQueriesInput: string | undefined,
|
rawQueriesInput: string | undefined,
|
||||||
languages: Language[],
|
languages: Language[],
|
||||||
@@ -333,11 +322,10 @@ const calculateAugmentationErrorMacro = test.macro({
|
|||||||
{ message: expectedError },
|
{ message: expectedError },
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
title: (_, title) => `Calculate Augmentation Error: ${title}`,
|
title: (title) => `Calculate Augmentation Error: ${title}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test(
|
calculateAugmentationErrorMacro(
|
||||||
calculateAugmentationErrorMacro,
|
|
||||||
"Plus (+) with nothing else (queries)",
|
"Plus (+) with nothing else (queries)",
|
||||||
undefined,
|
undefined,
|
||||||
" + ",
|
" + ",
|
||||||
@@ -346,8 +334,7 @@ test(
|
|||||||
/The workflow property "queries" is invalid/,
|
/The workflow property "queries" is invalid/,
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationErrorMacro(
|
||||||
calculateAugmentationErrorMacro,
|
|
||||||
"Plus (+) with nothing else (packs)",
|
"Plus (+) with nothing else (packs)",
|
||||||
" + ",
|
" + ",
|
||||||
undefined,
|
undefined,
|
||||||
@@ -356,8 +343,7 @@ test(
|
|||||||
/The workflow property "packs" is invalid/,
|
/The workflow property "packs" is invalid/,
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationErrorMacro(
|
||||||
calculateAugmentationErrorMacro,
|
|
||||||
"Plus (+) with nothing else (repo property queries)",
|
"Plus (+) with nothing else (repo property queries)",
|
||||||
undefined,
|
undefined,
|
||||||
undefined,
|
undefined,
|
||||||
@@ -368,8 +354,7 @@ test(
|
|||||||
/The repository property "github-codeql-extra-queries" is invalid/,
|
/The repository property "github-codeql-extra-queries" is invalid/,
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationErrorMacro(
|
||||||
calculateAugmentationErrorMacro,
|
|
||||||
"Packs input with multiple languages",
|
"Packs input with multiple languages",
|
||||||
" + a/b, c/d ",
|
" + a/b, c/d ",
|
||||||
undefined,
|
undefined,
|
||||||
@@ -378,8 +363,7 @@ test(
|
|||||||
/Cannot specify a 'packs' input in a multi-language analysis/,
|
/Cannot specify a 'packs' input in a multi-language analysis/,
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationErrorMacro(
|
||||||
calculateAugmentationErrorMacro,
|
|
||||||
"Packs input with no languages",
|
"Packs input with no languages",
|
||||||
" + a/b, c/d ",
|
" + a/b, c/d ",
|
||||||
undefined,
|
undefined,
|
||||||
@@ -388,8 +372,7 @@ test(
|
|||||||
/No languages specified/,
|
/No languages specified/,
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
calculateAugmentationErrorMacro(
|
||||||
calculateAugmentationErrorMacro,
|
|
||||||
"Invalid packs",
|
"Invalid packs",
|
||||||
" a-pack-without-a-scope ",
|
" a-pack-without-a-scope ",
|
||||||
undefined,
|
undefined,
|
||||||
|
|||||||
+4
-4
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"bundleVersion": "codeql-bundle-v2.25.3",
|
"bundleVersion": "codeql-bundle-v2.25.4",
|
||||||
"cliVersion": "2.25.3",
|
"cliVersion": "2.25.4",
|
||||||
"priorBundleVersion": "codeql-bundle-v2.25.2",
|
"priorBundleVersion": "codeql-bundle-v2.25.3",
|
||||||
"priorCliVersion": "2.25.2"
|
"priorCliVersion": "2.25.3"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import {
|
|||||||
mockCodeQLVersion,
|
mockCodeQLVersion,
|
||||||
mockFeatureFlagApiEndpoint,
|
mockFeatureFlagApiEndpoint,
|
||||||
setupActionsVars,
|
setupActionsVars,
|
||||||
|
makeMacro,
|
||||||
} from "./testing-utils";
|
} from "./testing-utils";
|
||||||
import { GitHubVariant, withTmpDir } from "./util";
|
import { GitHubVariant, withTmpDir } from "./util";
|
||||||
import type { GitHubVersion } from "./util";
|
import type { GitHubVersion } from "./util";
|
||||||
@@ -42,10 +43,9 @@ const defaultTestCase: DiffInformedAnalysisTestCase = {
|
|||||||
codeQLVersion: "2.21.0",
|
codeQLVersion: "2.21.0",
|
||||||
};
|
};
|
||||||
|
|
||||||
const testShouldPerformDiffInformedAnalysis = test.macro({
|
const testShouldPerformDiffInformedAnalysis = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext,
|
t: ExecutionContext,
|
||||||
_title: string,
|
|
||||||
partialTestCase: Partial<DiffInformedAnalysisTestCase>,
|
partialTestCase: Partial<DiffInformedAnalysisTestCase>,
|
||||||
expectedResult: boolean,
|
expectedResult: boolean,
|
||||||
) => {
|
) => {
|
||||||
@@ -94,18 +94,16 @@ const testShouldPerformDiffInformedAnalysis = test.macro({
|
|||||||
getPullRequestBranchesStub.restore();
|
getPullRequestBranchesStub.restore();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
title: (_, title) => `shouldPerformDiffInformedAnalysis: ${title}`,
|
title: (title) => `shouldPerformDiffInformedAnalysis: ${title}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
testShouldPerformDiffInformedAnalysis.serial(
|
||||||
testShouldPerformDiffInformedAnalysis,
|
|
||||||
"returns true in the default test case",
|
"returns true in the default test case",
|
||||||
{},
|
{},
|
||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testShouldPerformDiffInformedAnalysis.serial(
|
||||||
testShouldPerformDiffInformedAnalysis,
|
|
||||||
"returns false when feature flag is disabled from the API",
|
"returns false when feature flag is disabled from the API",
|
||||||
{
|
{
|
||||||
featureEnabled: false,
|
featureEnabled: false,
|
||||||
@@ -113,8 +111,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testShouldPerformDiffInformedAnalysis.serial(
|
||||||
testShouldPerformDiffInformedAnalysis,
|
|
||||||
"returns false when CODEQL_ACTION_DIFF_INFORMED_QUERIES is set to false",
|
"returns false when CODEQL_ACTION_DIFF_INFORMED_QUERIES is set to false",
|
||||||
{
|
{
|
||||||
featureEnabled: true,
|
featureEnabled: true,
|
||||||
@@ -123,8 +120,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testShouldPerformDiffInformedAnalysis.serial(
|
||||||
testShouldPerformDiffInformedAnalysis,
|
|
||||||
"returns true when CODEQL_ACTION_DIFF_INFORMED_QUERIES is set to true",
|
"returns true when CODEQL_ACTION_DIFF_INFORMED_QUERIES is set to true",
|
||||||
{
|
{
|
||||||
featureEnabled: false,
|
featureEnabled: false,
|
||||||
@@ -133,8 +129,7 @@ test.serial(
|
|||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testShouldPerformDiffInformedAnalysis.serial(
|
||||||
testShouldPerformDiffInformedAnalysis,
|
|
||||||
"returns false for CodeQL version 2.20.0",
|
"returns false for CodeQL version 2.20.0",
|
||||||
{
|
{
|
||||||
codeQLVersion: "2.20.0",
|
codeQLVersion: "2.20.0",
|
||||||
@@ -142,8 +137,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testShouldPerformDiffInformedAnalysis.serial(
|
||||||
testShouldPerformDiffInformedAnalysis,
|
|
||||||
"returns false for invalid GHES version",
|
"returns false for invalid GHES version",
|
||||||
{
|
{
|
||||||
gitHubVersion: {
|
gitHubVersion: {
|
||||||
@@ -154,8 +148,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testShouldPerformDiffInformedAnalysis.serial(
|
||||||
testShouldPerformDiffInformedAnalysis,
|
|
||||||
"returns false for GHES version 3.18.5",
|
"returns false for GHES version 3.18.5",
|
||||||
{
|
{
|
||||||
gitHubVersion: {
|
gitHubVersion: {
|
||||||
@@ -166,8 +159,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testShouldPerformDiffInformedAnalysis.serial(
|
||||||
testShouldPerformDiffInformedAnalysis,
|
|
||||||
"returns true for GHES version 3.19.0",
|
"returns true for GHES version 3.19.0",
|
||||||
{
|
{
|
||||||
gitHubVersion: {
|
gitHubVersion: {
|
||||||
@@ -178,8 +170,7 @@ test.serial(
|
|||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testShouldPerformDiffInformedAnalysis.serial(
|
||||||
testShouldPerformDiffInformedAnalysis,
|
|
||||||
"returns false when not a pull request",
|
"returns false when not a pull request",
|
||||||
{
|
{
|
||||||
pullRequestBranches: undefined,
|
pullRequestBranches: undefined,
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import {
|
|||||||
createFeatures,
|
createFeatures,
|
||||||
createTestConfig,
|
createTestConfig,
|
||||||
DEFAULT_ACTIONS_VARS,
|
DEFAULT_ACTIONS_VARS,
|
||||||
|
makeMacro,
|
||||||
makeVersionInfo,
|
makeVersionInfo,
|
||||||
RecordingLogger,
|
RecordingLogger,
|
||||||
setupActionsVars,
|
setupActionsVars,
|
||||||
@@ -796,7 +797,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const skippedUploadTest = test.macro({
|
const skippedUploadTest = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext<unknown>,
|
t: ExecutionContext<unknown>,
|
||||||
config: Partial<configUtils.Config>,
|
config: Partial<configUtils.Config>,
|
||||||
@@ -823,9 +824,8 @@ const skippedUploadTest = test.macro({
|
|||||||
`tryUploadSarifIfRunFailed - skips upload ${providedTitle}`,
|
`tryUploadSarifIfRunFailed - skips upload ${providedTitle}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
skippedUploadTest.serial(
|
||||||
"without CodeQL command",
|
"without CodeQL command",
|
||||||
skippedUploadTest,
|
|
||||||
// No codeQLCmd
|
// No codeQLCmd
|
||||||
{
|
{
|
||||||
analysisKinds: [AnalysisKind.RiskAssessment],
|
analysisKinds: [AnalysisKind.RiskAssessment],
|
||||||
@@ -834,9 +834,8 @@ test.serial(
|
|||||||
"CodeQL command not found",
|
"CodeQL command not found",
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
skippedUploadTest.serial(
|
||||||
"if no language is configured",
|
"if no language is configured",
|
||||||
skippedUploadTest,
|
|
||||||
// No explicit language configuration
|
// No explicit language configuration
|
||||||
{
|
{
|
||||||
analysisKinds: [AnalysisKind.RiskAssessment],
|
analysisKinds: [AnalysisKind.RiskAssessment],
|
||||||
@@ -845,9 +844,8 @@ test.serial(
|
|||||||
"Unexpectedly, the configuration is not for a single language.",
|
"Unexpectedly, the configuration is not for a single language.",
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
skippedUploadTest.serial(
|
||||||
"if multiple languages is configured",
|
"if multiple languages is configured",
|
||||||
skippedUploadTest,
|
|
||||||
// Multiple explicit languages configured
|
// Multiple explicit languages configured
|
||||||
{
|
{
|
||||||
analysisKinds: [AnalysisKind.RiskAssessment],
|
analysisKinds: [AnalysisKind.RiskAssessment],
|
||||||
|
|||||||
+15
-27
@@ -22,6 +22,7 @@ import {
|
|||||||
createTestConfig,
|
createTestConfig,
|
||||||
getRecordingLogger,
|
getRecordingLogger,
|
||||||
setupTests,
|
setupTests,
|
||||||
|
makeMacro,
|
||||||
} from "./testing-utils";
|
} from "./testing-utils";
|
||||||
import { ConfigurationError, withTmpDir } from "./util";
|
import { ConfigurationError, withTmpDir } from "./util";
|
||||||
|
|
||||||
@@ -158,10 +159,9 @@ type PackInfo = {
|
|||||||
qlpackFileName?: string;
|
qlpackFileName?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
const testCheckPacksForOverlayCompatibility = test.macro({
|
const testCheckPacksForOverlayCompatibility = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext,
|
t: ExecutionContext,
|
||||||
_title: string,
|
|
||||||
{
|
{
|
||||||
cliOverlayVersion,
|
cliOverlayVersion,
|
||||||
languages,
|
languages,
|
||||||
@@ -234,11 +234,10 @@ const testCheckPacksForOverlayCompatibility = test.macro({
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
title: (_, title) => `checkPacksForOverlayCompatibility: ${title}`,
|
title: (title) => `checkPacksForOverlayCompatibility: ${title}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns false when CLI does not support overlay",
|
"returns false when CLI does not support overlay",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: undefined,
|
cliOverlayVersion: undefined,
|
||||||
@@ -253,8 +252,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns true when there are no query packs",
|
"returns true when there are no query packs",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -264,8 +262,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns true when query pack has not been compiled",
|
"returns true when query pack has not been compiled",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -281,8 +278,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns true when query pack has expected overlay version",
|
"returns true when query pack has expected overlay version",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -297,8 +293,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns true when query packs for all languages to analyze are compatible",
|
"returns true when query packs for all languages to analyze are compatible",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -317,8 +312,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns true when query pack for a language not analyzed is incompatible",
|
"returns true when query pack for a language not analyzed is incompatible",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -337,8 +331,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns false when query pack for a language to analyze is incompatible",
|
"returns false when query pack for a language to analyze is incompatible",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -357,8 +350,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns false when query pack is missing .packinfo",
|
"returns false when query pack is missing .packinfo",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -377,8 +369,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns false when query pack has different overlay version",
|
"returns false when query pack has different overlay version",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -397,8 +388,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns false when query pack is missing overlayVersion in .packinfo",
|
"returns false when query pack is missing overlayVersion in .packinfo",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -417,8 +407,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns false when .packinfo is not valid JSON",
|
"returns false when .packinfo is not valid JSON",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
@@ -437,8 +426,7 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
testCheckPacksForOverlayCompatibility(
|
||||||
testCheckPacksForOverlayCompatibility,
|
|
||||||
"returns true when query pack uses codeql-pack.yml filename",
|
"returns true when query pack uses codeql-pack.yml filename",
|
||||||
{
|
{
|
||||||
cliOverlayVersion: 2,
|
cliOverlayVersion: 2,
|
||||||
|
|||||||
+14
-25
@@ -13,6 +13,7 @@ import { BuiltInLanguage } from "../languages";
|
|||||||
import { getRunnerLogger } from "../logging";
|
import { getRunnerLogger } from "../logging";
|
||||||
import {
|
import {
|
||||||
createTestConfig,
|
createTestConfig,
|
||||||
|
makeMacro,
|
||||||
mockCodeQLVersion,
|
mockCodeQLVersion,
|
||||||
setupTests,
|
setupTests,
|
||||||
} from "../testing-utils";
|
} from "../testing-utils";
|
||||||
@@ -51,10 +52,9 @@ const defaultDownloadTestCase: DownloadOverlayBaseDatabaseTestCase = {
|
|||||||
resolveDatabaseOutput: { overlayBaseSpecifier: "20250626:XXX" },
|
resolveDatabaseOutput: { overlayBaseSpecifier: "20250626:XXX" },
|
||||||
};
|
};
|
||||||
|
|
||||||
const testDownloadOverlayBaseDatabaseFromCache = test.macro({
|
const testDownloadOverlayBaseDatabaseFromCache = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t,
|
t,
|
||||||
_title: string,
|
|
||||||
partialTestCase: Partial<DownloadOverlayBaseDatabaseTestCase>,
|
partialTestCase: Partial<DownloadOverlayBaseDatabaseTestCase>,
|
||||||
expectDownloadSuccess: boolean,
|
expectDownloadSuccess: boolean,
|
||||||
) => {
|
) => {
|
||||||
@@ -142,18 +142,16 @@ const testDownloadOverlayBaseDatabaseFromCache = test.macro({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
title: (_, title) => `downloadOverlayBaseDatabaseFromCache: ${title}`,
|
title: (title) => `downloadOverlayBaseDatabaseFromCache: ${title}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns stats when successful",
|
"returns stats when successful",
|
||||||
{},
|
{},
|
||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined when mode is OverlayDatabaseMode.OverlayBase",
|
"returns undefined when mode is OverlayDatabaseMode.OverlayBase",
|
||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.OverlayBase,
|
overlayDatabaseMode: OverlayDatabaseMode.OverlayBase,
|
||||||
@@ -161,8 +159,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined when mode is OverlayDatabaseMode.None",
|
"returns undefined when mode is OverlayDatabaseMode.None",
|
||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||||
@@ -170,8 +167,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined when caching is disabled",
|
"returns undefined when caching is disabled",
|
||||||
{
|
{
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
@@ -179,8 +175,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined in test mode",
|
"returns undefined in test mode",
|
||||||
{
|
{
|
||||||
isInTestMode: true,
|
isInTestMode: true,
|
||||||
@@ -188,8 +183,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined when cache miss",
|
"returns undefined when cache miss",
|
||||||
{
|
{
|
||||||
restoreCacheResult: undefined,
|
restoreCacheResult: undefined,
|
||||||
@@ -197,8 +191,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined when download fails",
|
"returns undefined when download fails",
|
||||||
{
|
{
|
||||||
restoreCacheResult: new Error("Download failed"),
|
restoreCacheResult: new Error("Download failed"),
|
||||||
@@ -206,8 +199,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined when downloaded database is invalid",
|
"returns undefined when downloaded database is invalid",
|
||||||
{
|
{
|
||||||
hasBaseDatabaseOidsFile: false,
|
hasBaseDatabaseOidsFile: false,
|
||||||
@@ -215,8 +207,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined when downloaded database doesn't have an overlayBaseSpecifier",
|
"returns undefined when downloaded database doesn't have an overlayBaseSpecifier",
|
||||||
{
|
{
|
||||||
resolveDatabaseOutput: {},
|
resolveDatabaseOutput: {},
|
||||||
@@ -224,8 +215,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined when resolving database metadata fails",
|
"returns undefined when resolving database metadata fails",
|
||||||
{
|
{
|
||||||
resolveDatabaseOutput: new Error("Failed to resolve database metadata"),
|
resolveDatabaseOutput: new Error("Failed to resolve database metadata"),
|
||||||
@@ -233,8 +223,7 @@ test.serial(
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testDownloadOverlayBaseDatabaseFromCache.serial(
|
||||||
testDownloadOverlayBaseDatabaseFromCache,
|
|
||||||
"returns undefined when filesystem error occurs",
|
"returns undefined when filesystem error occurs",
|
||||||
{
|
{
|
||||||
tryGetFolderBytesSucceeds: false,
|
tryGetFolderBytesSucceeds: false,
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import {
|
|||||||
createFeatures,
|
createFeatures,
|
||||||
getRecordingLogger,
|
getRecordingLogger,
|
||||||
initializeFeatures,
|
initializeFeatures,
|
||||||
|
makeMacro,
|
||||||
mockBundleDownloadApi,
|
mockBundleDownloadApi,
|
||||||
setupActionsVars,
|
setupActionsVars,
|
||||||
setupTests,
|
setupTests,
|
||||||
@@ -473,7 +474,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const toolcacheInputFallbackMacro = test.macro({
|
const toolcacheInputFallbackMacro = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext<unknown>,
|
t: ExecutionContext<unknown>,
|
||||||
featureList: Feature[],
|
featureList: Feature[],
|
||||||
@@ -533,9 +534,8 @@ const toolcacheInputFallbackMacro = test.macro({
|
|||||||
`getCodeQLSource falls back to downloading the CLI if ${providedTitle}`,
|
`getCodeQLSource falls back to downloading the CLI if ${providedTitle}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
toolcacheInputFallbackMacro.serial(
|
||||||
"the toolcache doesn't have a CodeQL CLI when tools == toolcache",
|
"the toolcache doesn't have a CodeQL CLI when tools == toolcache",
|
||||||
toolcacheInputFallbackMacro,
|
|
||||||
[Feature.AllowToolcacheInput],
|
[Feature.AllowToolcacheInput],
|
||||||
{ GITHUB_EVENT_NAME: "dynamic" },
|
{ GITHUB_EVENT_NAME: "dynamic" },
|
||||||
[],
|
[],
|
||||||
@@ -545,9 +545,8 @@ test.serial(
|
|||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
toolcacheInputFallbackMacro.serial(
|
||||||
"the workflow trigger is not `dynamic`",
|
"the workflow trigger is not `dynamic`",
|
||||||
toolcacheInputFallbackMacro,
|
|
||||||
[Feature.AllowToolcacheInput],
|
[Feature.AllowToolcacheInput],
|
||||||
{ GITHUB_EVENT_NAME: "pull_request" },
|
{ GITHUB_EVENT_NAME: "pull_request" },
|
||||||
[],
|
[],
|
||||||
@@ -556,9 +555,8 @@ test.serial(
|
|||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
toolcacheInputFallbackMacro.serial(
|
||||||
"the feature flag is not enabled",
|
"the feature flag is not enabled",
|
||||||
toolcacheInputFallbackMacro,
|
|
||||||
[],
|
[],
|
||||||
{ GITHUB_EVENT_NAME: "dynamic" },
|
{ GITHUB_EVENT_NAME: "dynamic" },
|
||||||
[],
|
[],
|
||||||
|
|||||||
+14
-23
@@ -18,6 +18,7 @@ import {
|
|||||||
assertNotLogged,
|
assertNotLogged,
|
||||||
checkExpectedLogMessages,
|
checkExpectedLogMessages,
|
||||||
createFeatures,
|
createFeatures,
|
||||||
|
makeMacro,
|
||||||
makeTestToken,
|
makeTestToken,
|
||||||
RecordingLogger,
|
RecordingLogger,
|
||||||
setupTests,
|
setupTests,
|
||||||
@@ -32,7 +33,7 @@ import {
|
|||||||
|
|
||||||
setupTests(test);
|
setupTests(test);
|
||||||
|
|
||||||
const sendFailedStatusReportTest = test.macro({
|
const sendFailedStatusReportTest = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext<unknown>,
|
t: ExecutionContext<unknown>,
|
||||||
err: Error,
|
err: Error,
|
||||||
@@ -88,16 +89,14 @@ const sendFailedStatusReportTest = test.macro({
|
|||||||
title: (providedTitle = "") => `sendFailedStatusReport - ${providedTitle}`,
|
title: (providedTitle = "") => `sendFailedStatusReport - ${providedTitle}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
sendFailedStatusReportTest.serial(
|
||||||
"reports generic error message for non-StartProxyError error",
|
"reports generic error message for non-StartProxyError error",
|
||||||
sendFailedStatusReportTest,
|
|
||||||
new Error("Something went wrong today"),
|
new Error("Something went wrong today"),
|
||||||
"Error from start-proxy Action omitted (Error).",
|
"Error from start-proxy Action omitted (Error).",
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
sendFailedStatusReportTest.serial(
|
||||||
"reports generic error message for non-StartProxyError error with safe error message",
|
"reports generic error message for non-StartProxyError error with safe error message",
|
||||||
sendFailedStatusReportTest,
|
|
||||||
new Error(
|
new Error(
|
||||||
startProxyExports.getStartProxyErrorMessage(
|
startProxyExports.getStartProxyErrorMessage(
|
||||||
startProxyExports.StartProxyErrorType.DownloadFailed,
|
startProxyExports.StartProxyErrorType.DownloadFailed,
|
||||||
@@ -106,9 +105,8 @@ test.serial(
|
|||||||
"Error from start-proxy Action omitted (Error).",
|
"Error from start-proxy Action omitted (Error).",
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
sendFailedStatusReportTest.serial(
|
||||||
"reports generic error message for ConfigurationError error",
|
"reports generic error message for ConfigurationError error",
|
||||||
sendFailedStatusReportTest,
|
|
||||||
new ConfigurationError("Something went wrong today"),
|
new ConfigurationError("Something went wrong today"),
|
||||||
"Error from start-proxy Action omitted (ConfigurationError).",
|
"Error from start-proxy Action omitted (ConfigurationError).",
|
||||||
"user-error",
|
"user-error",
|
||||||
@@ -414,7 +412,7 @@ test("getCredentials accepts OIDC configurations", (t) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const getCredentialsMacro = test.macro({
|
const getCredentialsMacro = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext<unknown>,
|
t: ExecutionContext<unknown>,
|
||||||
credentials: startProxyExports.RawCredential[],
|
credentials: startProxyExports.RawCredential[],
|
||||||
@@ -440,9 +438,8 @@ const getCredentialsMacro = test.macro({
|
|||||||
title: (providedTitle = "") => `getCredentials - ${providedTitle}`,
|
title: (providedTitle = "") => `getCredentials - ${providedTitle}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test(
|
getCredentialsMacro(
|
||||||
"warns for PAT-like password without a username",
|
"warns for PAT-like password without a username",
|
||||||
getCredentialsMacro,
|
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
type: "git_server",
|
type: "git_server",
|
||||||
@@ -470,9 +467,8 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
getCredentialsMacro(
|
||||||
"no warning for PAT-like password with a username",
|
"no warning for PAT-like password with a username",
|
||||||
getCredentialsMacro,
|
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
type: "git_server",
|
type: "git_server",
|
||||||
@@ -502,9 +498,8 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
getCredentialsMacro(
|
||||||
"warns for PAT-like token without a username",
|
"warns for PAT-like token without a username",
|
||||||
getCredentialsMacro,
|
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
type: "git_server",
|
type: "git_server",
|
||||||
@@ -532,9 +527,8 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
getCredentialsMacro(
|
||||||
"no warning for PAT-like token with a username",
|
"no warning for PAT-like token with a username",
|
||||||
getCredentialsMacro,
|
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
type: "git_server",
|
type: "git_server",
|
||||||
@@ -796,7 +790,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const wrapFailureTest = test.macro({
|
const wrapFailureTest = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext<unknown>,
|
t: ExecutionContext<unknown>,
|
||||||
setup: () => void,
|
setup: () => void,
|
||||||
@@ -827,9 +821,8 @@ test.serial("downloadProxy - returns file path on success", async (t) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
wrapFailureTest.serial(
|
||||||
"downloadProxy",
|
"downloadProxy",
|
||||||
wrapFailureTest,
|
|
||||||
() => {
|
() => {
|
||||||
sinon.stub(toolcache, "downloadTool").throws();
|
sinon.stub(toolcache, "downloadTool").throws();
|
||||||
},
|
},
|
||||||
@@ -848,9 +841,8 @@ test.serial("extractProxy - returns file path on success", async (t) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
wrapFailureTest.serial(
|
||||||
"extractProxy",
|
"extractProxy",
|
||||||
wrapFailureTest,
|
|
||||||
() => {
|
() => {
|
||||||
sinon.stub(toolcache, "extractTar").throws();
|
sinon.stub(toolcache, "extractTar").throws();
|
||||||
},
|
},
|
||||||
@@ -874,9 +866,8 @@ test.serial("cacheProxy - returns file path on success", async (t) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
wrapFailureTest.serial(
|
||||||
"cacheProxy",
|
"cacheProxy",
|
||||||
wrapFailureTest,
|
|
||||||
() => {
|
() => {
|
||||||
sinon.stub(toolcache, "cacheDir").throws();
|
sinon.stub(toolcache, "cacheDir").throws();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import {
|
|||||||
setupTests,
|
setupTests,
|
||||||
setupActionsVars,
|
setupActionsVars,
|
||||||
createTestConfig,
|
createTestConfig,
|
||||||
|
makeMacro,
|
||||||
} from "./testing-utils";
|
} from "./testing-utils";
|
||||||
import { BuildMode, ConfigurationError, withTmpDir, wrapError } from "./util";
|
import { BuildMode, ConfigurationError, withTmpDir, wrapError } from "./util";
|
||||||
|
|
||||||
@@ -291,10 +292,9 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const testCreateInitWithConfigStatusReport = test.macro({
|
const testCreateInitWithConfigStatusReport = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t,
|
t,
|
||||||
_title: string,
|
|
||||||
config: Config,
|
config: Config,
|
||||||
expectedReportProperties: Partial<InitWithConfigStatusReport>,
|
expectedReportProperties: Partial<InitWithConfigStatusReport>,
|
||||||
) => {
|
) => {
|
||||||
@@ -337,11 +337,10 @@ const testCreateInitWithConfigStatusReport = test.macro({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
title: (_, title) => `createInitWithConfigStatusReport: ${title}`,
|
title: (title) => `createInitWithConfigStatusReport: ${title}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
testCreateInitWithConfigStatusReport.serial(
|
||||||
testCreateInitWithConfigStatusReport,
|
|
||||||
"returns a value",
|
"returns a value",
|
||||||
createTestConfig({
|
createTestConfig({
|
||||||
buildMode: BuildMode.None,
|
buildMode: BuildMode.None,
|
||||||
@@ -355,8 +354,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testCreateInitWithConfigStatusReport.serial(
|
||||||
testCreateInitWithConfigStatusReport,
|
|
||||||
"includes packs for a single language",
|
"includes packs for a single language",
|
||||||
createTestConfig({
|
createTestConfig({
|
||||||
buildMode: BuildMode.None,
|
buildMode: BuildMode.None,
|
||||||
@@ -372,8 +370,7 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
testCreateInitWithConfigStatusReport.serial(
|
||||||
testCreateInitWithConfigStatusReport,
|
|
||||||
"includes packs for multiple languages",
|
"includes packs for multiple languages",
|
||||||
createTestConfig({
|
createTestConfig({
|
||||||
buildMode: BuildMode.None,
|
buildMode: BuildMode.None,
|
||||||
|
|||||||
+27
-3
@@ -2,7 +2,11 @@ import { TextDecoder } from "node:util";
|
|||||||
import path from "path";
|
import path from "path";
|
||||||
|
|
||||||
import * as github from "@actions/github";
|
import * as github from "@actions/github";
|
||||||
import { ExecutionContext, TestFn } from "ava";
|
import test, {
|
||||||
|
type ExecutionContext,
|
||||||
|
type MacroDeclarationOptions,
|
||||||
|
type TestFn,
|
||||||
|
} from "ava";
|
||||||
import nock from "nock";
|
import nock from "nock";
|
||||||
import * as sinon from "sinon";
|
import * as sinon from "sinon";
|
||||||
|
|
||||||
@@ -85,8 +89,8 @@ function wrapOutput(context: TestContext) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setupTests(test: TestFn<any>) {
|
export function setupTests(testFn: TestFn<any>) {
|
||||||
const typedTest = test as TestFn<TestContext>;
|
const typedTest = testFn as TestFn<TestContext>;
|
||||||
|
|
||||||
typedTest.beforeEach((t) => {
|
typedTest.beforeEach((t) => {
|
||||||
// Set an empty CodeQL object so that all method calls will fail
|
// Set an empty CodeQL object so that all method calls will fail
|
||||||
@@ -139,6 +143,26 @@ export function setupTests(test: TestFn<any>) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Declare a reusable test implementation, with better type safety than `test.macro`.
|
||||||
|
*/
|
||||||
|
export function makeMacro<Args extends unknown[]>(
|
||||||
|
decl: MacroDeclarationOptions<Args, unknown>,
|
||||||
|
) {
|
||||||
|
const m = test.macro<Args>(decl);
|
||||||
|
|
||||||
|
const wrapper = (name: string, ...args: Args) => test(name, m, ...args);
|
||||||
|
wrapper.test = (...args: Args) => test(m, ...args);
|
||||||
|
wrapper.serial = (name: string, ...args: Args) =>
|
||||||
|
test.serial(name, m, ...args);
|
||||||
|
// Make the implementation available as `fn`. We don't call it `exec` so
|
||||||
|
// that results from this function are not valid arguments to `test`
|
||||||
|
// or `test.serial`.
|
||||||
|
wrapper.fn = decl.exec;
|
||||||
|
|
||||||
|
return wrapper;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default values for environment variables typically set in an Actions
|
* Default values for environment variables typically set in an Actions
|
||||||
* environment. Tests can override individual variables by passing them in the
|
* environment. Tests can override individual variables by passing them in the
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import * as sinon from "sinon";
|
|||||||
|
|
||||||
import { AnalysisKind, getAnalysisConfig } from "./analyses";
|
import { AnalysisKind, getAnalysisConfig } from "./analyses";
|
||||||
import { getRunnerLogger } from "./logging";
|
import { getRunnerLogger } from "./logging";
|
||||||
import { createFeatures, setupTests } from "./testing-utils";
|
import { createFeatures, makeMacro, setupTests } from "./testing-utils";
|
||||||
import { UploadResult } from "./upload-lib";
|
import { UploadResult } from "./upload-lib";
|
||||||
import * as uploadLib from "./upload-lib";
|
import * as uploadLib from "./upload-lib";
|
||||||
import { postProcessAndUploadSarif } from "./upload-sarif";
|
import { postProcessAndUploadSarif } from "./upload-sarif";
|
||||||
@@ -43,7 +43,7 @@ function mockPostProcessSarifFiles() {
|
|||||||
return postProcessSarifFiles;
|
return postProcessSarifFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
const postProcessAndUploadSarifMacro = test.macro({
|
const postProcessAndUploadSarifMacro = makeMacro({
|
||||||
exec: async (
|
exec: async (
|
||||||
t: ExecutionContext<unknown>,
|
t: ExecutionContext<unknown>,
|
||||||
sarifFiles: string[],
|
sarifFiles: string[],
|
||||||
@@ -123,9 +123,8 @@ const postProcessAndUploadSarifMacro = test.macro({
|
|||||||
title: (providedTitle = "") => `processAndUploadSarif - ${providedTitle}`,
|
title: (providedTitle = "") => `processAndUploadSarif - ${providedTitle}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
postProcessAndUploadSarifMacro.serial(
|
||||||
"SARIF file",
|
"SARIF file",
|
||||||
postProcessAndUploadSarifMacro,
|
|
||||||
["test.sarif"],
|
["test.sarif"],
|
||||||
(tempDir) => path.join(tempDir, "test.sarif"),
|
(tempDir) => path.join(tempDir, "test.sarif"),
|
||||||
{
|
{
|
||||||
@@ -138,9 +137,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
postProcessAndUploadSarifMacro.serial(
|
||||||
"JSON file",
|
"JSON file",
|
||||||
postProcessAndUploadSarifMacro,
|
|
||||||
["test.json"],
|
["test.json"],
|
||||||
(tempDir) => path.join(tempDir, "test.json"),
|
(tempDir) => path.join(tempDir, "test.json"),
|
||||||
{
|
{
|
||||||
@@ -153,9 +151,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
postProcessAndUploadSarifMacro.serial(
|
||||||
"Code Scanning files",
|
"Code Scanning files",
|
||||||
postProcessAndUploadSarifMacro,
|
|
||||||
["test.json", "test.sarif"],
|
["test.json", "test.sarif"],
|
||||||
undefined,
|
undefined,
|
||||||
{
|
{
|
||||||
@@ -169,9 +166,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
postProcessAndUploadSarifMacro.serial(
|
||||||
"Code Quality file",
|
"Code Quality file",
|
||||||
postProcessAndUploadSarifMacro,
|
|
||||||
["test.quality.sarif"],
|
["test.quality.sarif"],
|
||||||
(tempDir) => path.join(tempDir, "test.quality.sarif"),
|
(tempDir) => path.join(tempDir, "test.quality.sarif"),
|
||||||
{
|
{
|
||||||
@@ -184,9 +180,8 @@ test.serial(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test.serial(
|
postProcessAndUploadSarifMacro.serial(
|
||||||
"Mixed files",
|
"Mixed files",
|
||||||
postProcessAndUploadSarifMacro,
|
|
||||||
["test.sarif", "test.quality.sarif"],
|
["test.sarif", "test.quality.sarif"],
|
||||||
undefined,
|
undefined,
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user