@@ -1202,6 +1202,7 @@ interface OverlayDatabaseModeTestSetup {
1202
1202
languages : Language [ ] ;
1203
1203
codeqlVersion : string ;
1204
1204
gitRoot : string | undefined ;
1205
+ codeScanningConfig : configUtils . UserConfig ;
1205
1206
}
1206
1207
1207
1208
const defaultOverlayDatabaseModeTestSetup : OverlayDatabaseModeTestSetup = {
@@ -1214,6 +1215,7 @@ const defaultOverlayDatabaseModeTestSetup: OverlayDatabaseModeTestSetup = {
1214
1215
languages : [ Language . javascript ] ,
1215
1216
codeqlVersion : "2.21.0" ,
1216
1217
gitRoot : "/some/git/root" ,
1218
+ codeScanningConfig : { } ,
1217
1219
} ;
1218
1220
1219
1221
const getOverlayDatabaseModeMacro = test . macro ( {
@@ -1280,6 +1282,7 @@ const getOverlayDatabaseModeMacro = test.macro({
1280
1282
setup . languages ,
1281
1283
tempDir , // sourceRoot
1282
1284
setup . buildMode ,
1285
+ setup . codeScanningConfig ,
1283
1286
logger ,
1284
1287
) ;
1285
1288
@@ -1370,7 +1373,121 @@ test(
1370
1373
1371
1374
test (
1372
1375
getOverlayDatabaseModeMacro ,
1373
- "No overlay-base database on default branch when overall feature disabled" ,
1376
+ "Overlay-base database on default branch when feature enabled with custom analysis" ,
1377
+ {
1378
+ languages : [ Language . javascript ] ,
1379
+ features : [ Feature . OverlayAnalysis , Feature . OverlayAnalysisJavascript ] ,
1380
+ codeScanningConfig : {
1381
+
1382
+ } as configUtils . UserConfig ,
1383
+ isDefaultBranch : true ,
1384
+ } ,
1385
+ {
1386
+ overlayDatabaseMode : OverlayDatabaseMode . OverlayBase ,
1387
+ useOverlayDatabaseCaching : true ,
1388
+ } ,
1389
+ ) ;
1390
+
1391
+ test (
1392
+ getOverlayDatabaseModeMacro ,
1393
+ "Overlay-base database on default branch when code-scanning feature enabled" ,
1394
+ {
1395
+ languages : [ Language . javascript ] ,
1396
+ features : [
1397
+ Feature . OverlayAnalysis ,
1398
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1399
+ ] ,
1400
+ isDefaultBranch : true ,
1401
+ } ,
1402
+ {
1403
+ overlayDatabaseMode : OverlayDatabaseMode . OverlayBase ,
1404
+ useOverlayDatabaseCaching : true ,
1405
+ } ,
1406
+ ) ;
1407
+
1408
+ test (
1409
+ getOverlayDatabaseModeMacro ,
1410
+ "No overlay-base database on default branch when code-scanning feature enabled with disable-default-queries" ,
1411
+ {
1412
+ languages : [ Language . javascript ] ,
1413
+ features : [
1414
+ Feature . OverlayAnalysis ,
1415
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1416
+ ] ,
1417
+ codeScanningConfig : {
1418
+ "disable-default-queries" : true ,
1419
+ } as configUtils . UserConfig ,
1420
+ isDefaultBranch : true ,
1421
+ } ,
1422
+ {
1423
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1424
+ useOverlayDatabaseCaching : false ,
1425
+ } ,
1426
+ ) ;
1427
+
1428
+ test (
1429
+ getOverlayDatabaseModeMacro ,
1430
+ "No overlay-base database on default branch when code-scanning feature enabled with packs" ,
1431
+ {
1432
+ languages : [ Language . javascript ] ,
1433
+ features : [
1434
+ Feature . OverlayAnalysis ,
1435
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1436
+ ] ,
1437
+ codeScanningConfig : {
1438
+
1439
+ } as configUtils . UserConfig ,
1440
+ isDefaultBranch : true ,
1441
+ } ,
1442
+ {
1443
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1444
+ useOverlayDatabaseCaching : false ,
1445
+ } ,
1446
+ ) ;
1447
+
1448
+ test (
1449
+ getOverlayDatabaseModeMacro ,
1450
+ "No overlay-base database on default branch when code-scanning feature enabled with queries" ,
1451
+ {
1452
+ languages : [ Language . javascript ] ,
1453
+ features : [
1454
+ Feature . OverlayAnalysis ,
1455
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1456
+ ] ,
1457
+ codeScanningConfig : {
1458
+ queries : [ { uses : "some-query.ql" } ] ,
1459
+ } as configUtils . UserConfig ,
1460
+ isDefaultBranch : true ,
1461
+ } ,
1462
+ {
1463
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1464
+ useOverlayDatabaseCaching : false ,
1465
+ } ,
1466
+ ) ;
1467
+
1468
+ test (
1469
+ getOverlayDatabaseModeMacro ,
1470
+ "No overlay-base database on default branch when code-scanning feature enabled with query-filters" ,
1471
+ {
1472
+ languages : [ Language . javascript ] ,
1473
+ features : [
1474
+ Feature . OverlayAnalysis ,
1475
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1476
+ ] ,
1477
+ codeScanningConfig : {
1478
+ "query-filters" : [ { include : { "security-severity" : "high" } } ] ,
1479
+ } as configUtils . UserConfig ,
1480
+ isDefaultBranch : true ,
1481
+ } ,
1482
+ {
1483
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1484
+ useOverlayDatabaseCaching : false ,
1485
+ } ,
1486
+ ) ;
1487
+
1488
+ test (
1489
+ getOverlayDatabaseModeMacro ,
1490
+ "No overlay-base database on default branch when only language-specific feature enabled" ,
1374
1491
{
1375
1492
languages : [ Language . javascript ] ,
1376
1493
features : [ Feature . OverlayAnalysisJavascript ] ,
@@ -1382,6 +1499,20 @@ test(
1382
1499
} ,
1383
1500
) ;
1384
1501
1502
+ test (
1503
+ getOverlayDatabaseModeMacro ,
1504
+ "No overlay-base database on default branch when only code-scanning feature enabled" ,
1505
+ {
1506
+ languages : [ Language . javascript ] ,
1507
+ features : [ Feature . OverlayAnalysisCodeScanningJavascript ] ,
1508
+ isDefaultBranch : true ,
1509
+ } ,
1510
+ {
1511
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1512
+ useOverlayDatabaseCaching : false ,
1513
+ } ,
1514
+ ) ;
1515
+
1385
1516
test (
1386
1517
getOverlayDatabaseModeMacro ,
1387
1518
"No overlay-base database on default branch when language-specific feature disabled" ,
@@ -1412,7 +1543,121 @@ test(
1412
1543
1413
1544
test (
1414
1545
getOverlayDatabaseModeMacro ,
1415
- "No overlay analysis on PR when overall feature disabled" ,
1546
+ "Overlay analysis on PR when feature enabled with custom analysis" ,
1547
+ {
1548
+ languages : [ Language . javascript ] ,
1549
+ features : [ Feature . OverlayAnalysis , Feature . OverlayAnalysisJavascript ] ,
1550
+ codeScanningConfig : {
1551
+
1552
+ } as configUtils . UserConfig ,
1553
+ isPullRequest : true ,
1554
+ } ,
1555
+ {
1556
+ overlayDatabaseMode : OverlayDatabaseMode . Overlay ,
1557
+ useOverlayDatabaseCaching : true ,
1558
+ } ,
1559
+ ) ;
1560
+
1561
+ test (
1562
+ getOverlayDatabaseModeMacro ,
1563
+ "Overlay analysis on PR when code-scanning feature enabled" ,
1564
+ {
1565
+ languages : [ Language . javascript ] ,
1566
+ features : [
1567
+ Feature . OverlayAnalysis ,
1568
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1569
+ ] ,
1570
+ isPullRequest : true ,
1571
+ } ,
1572
+ {
1573
+ overlayDatabaseMode : OverlayDatabaseMode . Overlay ,
1574
+ useOverlayDatabaseCaching : true ,
1575
+ } ,
1576
+ ) ;
1577
+
1578
+ test (
1579
+ getOverlayDatabaseModeMacro ,
1580
+ "No overlay analysis on PR when code-scanning feature enabled with disable-default-queries" ,
1581
+ {
1582
+ languages : [ Language . javascript ] ,
1583
+ features : [
1584
+ Feature . OverlayAnalysis ,
1585
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1586
+ ] ,
1587
+ codeScanningConfig : {
1588
+ "disable-default-queries" : true ,
1589
+ } as configUtils . UserConfig ,
1590
+ isPullRequest : true ,
1591
+ } ,
1592
+ {
1593
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1594
+ useOverlayDatabaseCaching : false ,
1595
+ } ,
1596
+ ) ;
1597
+
1598
+ test (
1599
+ getOverlayDatabaseModeMacro ,
1600
+ "No overlay analysis on PR when code-scanning feature enabled with packs" ,
1601
+ {
1602
+ languages : [ Language . javascript ] ,
1603
+ features : [
1604
+ Feature . OverlayAnalysis ,
1605
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1606
+ ] ,
1607
+ codeScanningConfig : {
1608
+
1609
+ } as configUtils . UserConfig ,
1610
+ isPullRequest : true ,
1611
+ } ,
1612
+ {
1613
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1614
+ useOverlayDatabaseCaching : false ,
1615
+ } ,
1616
+ ) ;
1617
+
1618
+ test (
1619
+ getOverlayDatabaseModeMacro ,
1620
+ "No overlay analysis on PR when code-scanning feature enabled with queries" ,
1621
+ {
1622
+ languages : [ Language . javascript ] ,
1623
+ features : [
1624
+ Feature . OverlayAnalysis ,
1625
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1626
+ ] ,
1627
+ codeScanningConfig : {
1628
+ queries : [ { uses : "some-query.ql" } ] ,
1629
+ } as configUtils . UserConfig ,
1630
+ isPullRequest : true ,
1631
+ } ,
1632
+ {
1633
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1634
+ useOverlayDatabaseCaching : false ,
1635
+ } ,
1636
+ ) ;
1637
+
1638
+ test (
1639
+ getOverlayDatabaseModeMacro ,
1640
+ "No overlay analysis on PR when code-scanning feature enabled with query-filters" ,
1641
+ {
1642
+ languages : [ Language . javascript ] ,
1643
+ features : [
1644
+ Feature . OverlayAnalysis ,
1645
+ Feature . OverlayAnalysisCodeScanningJavascript ,
1646
+ ] ,
1647
+ codeScanningConfig : {
1648
+ "query-filters" : [ { include : { "security-severity" : "high" } } ] ,
1649
+ } as configUtils . UserConfig ,
1650
+ isPullRequest : true ,
1651
+ } ,
1652
+ {
1653
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1654
+ useOverlayDatabaseCaching : false ,
1655
+ } ,
1656
+ ) ;
1657
+
1658
+ test (
1659
+ getOverlayDatabaseModeMacro ,
1660
+ "No overlay analysis on PR when only language-specific feature enabled" ,
1416
1661
{
1417
1662
languages : [ Language . javascript ] ,
1418
1663
features : [ Feature . OverlayAnalysisJavascript ] ,
@@ -1424,6 +1669,20 @@ test(
1424
1669
} ,
1425
1670
) ;
1426
1671
1672
+ test (
1673
+ getOverlayDatabaseModeMacro ,
1674
+ "No overlay analysis on PR when only code-scanning feature enabled" ,
1675
+ {
1676
+ languages : [ Language . javascript ] ,
1677
+ features : [ Feature . OverlayAnalysisCodeScanningJavascript ] ,
1678
+ isPullRequest : true ,
1679
+ } ,
1680
+ {
1681
+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1682
+ useOverlayDatabaseCaching : false ,
1683
+ } ,
1684
+ ) ;
1685
+
1427
1686
test (
1428
1687
getOverlayDatabaseModeMacro ,
1429
1688
"No overlay analysis on PR when language-specific feature disabled" ,
0 commit comments