Skip to content

Commit 8c95a9a

Browse files
committed
Merge branch 'main' into definitions-for-unique_ptr
2 parents 5a4efab + 3613ceb commit 8c95a9a

File tree

269 files changed

+10438
-9461
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

269 files changed

+10438
-9461
lines changed

config/identical-files.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"cpp/ql/src/semmle/code/cpp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll",
3737
"cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/tainttracking1/TaintTrackingImpl.qll",
3838
"cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/tainttracking2/TaintTrackingImpl.qll",
39+
"cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/tainttracking3/TaintTrackingImpl.qll",
3940
"csharp/ql/src/semmle/code/csharp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll",
4041
"csharp/ql/src/semmle/code/csharp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll",
4142
"csharp/ql/src/semmle/code/csharp/dataflow/internal/tainttracking3/TaintTrackingImpl.qll",
@@ -376,7 +377,6 @@
376377
],
377378
"DuplicationProblems.inc.qhelp": [
378379
"cpp/ql/src/Metrics/Files/DuplicationProblems.inc.qhelp",
379-
"csharp/ql/src/Metrics/Files/DuplicationProblems.inc.qhelp",
380380
"javascript/ql/src/Metrics/DuplicationProblems.inc.qhelp",
381381
"python/ql/src/Metrics/DuplicationProblems.inc.qhelp"
382382
],
@@ -429,10 +429,11 @@
429429
"SSA C#": [
430430
"csharp/ql/src/semmle/code/csharp/dataflow/internal/SsaImplCommon.qll",
431431
"csharp/ql/src/semmle/code/csharp/controlflow/internal/pressa/SsaImplCommon.qll",
432-
"csharp/ql/src/semmle/code/csharp/dataflow/internal/basessa/SsaImplCommon.qll"
432+
"csharp/ql/src/semmle/code/csharp/dataflow/internal/basessa/SsaImplCommon.qll",
433+
"csharp/ql/src/semmle/code/cil/internal/SsaImplCommon.qll"
433434
],
434435
"CryptoAlgorithms Python/JS": [
435436
"javascript/ql/src/semmle/javascript/security/CryptoAlgorithms.qll",
436437
"python/ql/src/semmle/crypto/Crypto.qll"
437438
]
438-
}
439+
}

cpp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Linq;
66
using Microsoft.Build.Construction;
77
using System.Xml;
8+
using System.IO;
89

910
namespace Semmle.Autobuild.Cpp.Tests
1011
{
@@ -43,6 +44,8 @@ bool IBuildActions.FileExists(string file)
4344
public IDictionary<string, int> RunProcess = new Dictionary<string, int>();
4445
public IDictionary<string, string> RunProcessOut = new Dictionary<string, string>();
4546
public IDictionary<string, string> RunProcessWorkingDirectory = new Dictionary<string, string>();
47+
public HashSet<string> CreateDirectories { get; } = new HashSet<string>();
48+
public HashSet<(string, string)> DownloadFiles { get; } = new HashSet<(string, string)>();
4649

4750
int IBuildActions.RunProcess(string cmd, string args, string? workingDirectory, IDictionary<string, string>? env, out IList<string> stdOut)
4851
{
@@ -135,6 +138,14 @@ string IBuildActions.PathCombine(params string[] parts)
135138

136139
string IBuildActions.GetFullPath(string path) => path;
137140

141+
string? IBuildActions.GetFileName(string? path) => Path.GetFileName(path?.Replace('\\', '/'));
142+
143+
public string? GetDirectoryName(string? path)
144+
{
145+
var dir = Path.GetDirectoryName(path?.Replace('\\', '/'));
146+
return dir is null ? path : path?.Substring(0, dir.Length);
147+
}
148+
138149
void IBuildActions.WriteAllText(string filename, string contents)
139150
{
140151
}
@@ -153,6 +164,18 @@ public string EnvironmentExpandEnvironmentVariables(string s)
153164
s = s.Replace($"%{kvp.Key}%", kvp.Value);
154165
return s;
155166
}
167+
168+
public void CreateDirectory(string path)
169+
{
170+
if (!CreateDirectories.Contains(path))
171+
throw new ArgumentException($"Missing CreateDirectory, {path}");
172+
}
173+
174+
public void DownloadFile(string address, string fileName)
175+
{
176+
if (!DownloadFiles.Contains((address, fileName)))
177+
throw new ArgumentException($"Missing DownloadFile, {address}, {fileName}");
178+
}
156179
}
157180

158181
/// <summary>
@@ -213,6 +236,7 @@ CppAutobuilder CreateAutoBuilder(bool isWindows,
213236
Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_SOURCE_ARCHIVE_DIR"] = "";
214237
Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_ROOT"] = $@"C:\codeql\{codeqlUpperLanguage.ToLowerInvariant()}";
215238
Actions.GetEnvironmentVariable["CODEQL_JAVA_HOME"] = @"C:\codeql\tools\java";
239+
Actions.GetEnvironmentVariable["CODEQL_PLATFORM"] = "win64";
216240
Actions.GetEnvironmentVariable["SEMMLE_DIST"] = @"C:\odasa";
217241
Actions.GetEnvironmentVariable["SEMMLE_JAVA_HOME"] = @"C:\odasa\tools\java";
218242
Actions.GetEnvironmentVariable["SEMMLE_PLATFORM_TOOLS"] = @"C:\odasa\tools";
@@ -273,7 +297,8 @@ public void TestDefaultCppAutobuilder()
273297
[Fact]
274298
public void TestCppAutobuilderSuccess()
275299
{
276-
Actions.RunProcess[@"cmd.exe /C C:\odasa\tools\csharp\nuget\nuget.exe restore C:\Project\test.sln"] = 1;
300+
Actions.RunProcess[@"cmd.exe /C nuget restore C:\Project\test.sln -DisableParallelProcessing"] = 1;
301+
Actions.RunProcess[@"cmd.exe /C C:\Project\.nuget\nuget.exe restore C:\Project\test.sln -DisableParallelProcessing"] = 0;
277302
Actions.RunProcess[@"cmd.exe /C CALL ^""C:\Program Files ^(x86^)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat^"" && set Platform=&& type NUL && C:\odasa\tools\odasa index --auto msbuild C:\Project\test.sln /p:UseSharedCompilation=false /t:rebuild /p:Platform=""x86"" /p:Configuration=""Release"" /p:MvcBuildViews=true"] = 0;
278303
Actions.RunProcessOut[@"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -prerelease -legacy -property installationPath"] = "";
279304
Actions.RunProcess[@"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -prerelease -legacy -property installationPath"] = 1;
@@ -286,11 +311,13 @@ public void TestCppAutobuilderSuccess()
286311
Actions.FileExists[@"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"] = true;
287312
Actions.EnumerateFiles[@"C:\Project"] = "foo.cs\ntest.slx";
288313
Actions.EnumerateDirectories[@"C:\Project"] = "";
314+
Actions.CreateDirectories.Add(@"C:\Project\.nuget");
315+
Actions.DownloadFiles.Add(("https://dist.nuget.org/win-x86-commandline/latest/nuget.exe", @"C:\Project\.nuget\nuget.exe"));
289316

290317
var autobuilder = CreateAutoBuilder(true);
291318
var solution = new TestSolution(@"C:\Project\test.sln");
292319
autobuilder.ProjectsOrSolutionsToBuild.Add(solution);
293-
TestAutobuilderScript(autobuilder, 0, 2);
320+
TestAutobuilderScript(autobuilder, 0, 3);
294321
}
295322
}
296323
}

cpp/ql/src/Metrics/Dependencies/ExternalDependencies.ql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
* @kind treemap
66
* @treemap.warnOn highValues
77
* @metricType externalDependency
8-
* @precision medium
98
* @id cpp/external-dependencies
109
* @tags modularity
1110
*/

cpp/ql/src/Metrics/Files/FLinesOfCode.ql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
* @treemap.warnOn highValues
88
* @metricType file
99
* @metricAggregate avg sum max
10-
* @precision very-high
1110
* @id cpp/lines-of-code-in-files
1211
* @tags maintainability
1312
* complexity

cpp/ql/src/Metrics/Files/FLinesOfCommentedOutCode.ql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
* @treemap.warnOn highValues
66
* @metricType file
77
* @metricAggregate avg sum max
8-
* @precision high
98
* @id cpp/lines-of-commented-out-code-in-files
109
* @tags documentation
1110
*/

cpp/ql/src/Metrics/Files/FLinesOfComments.ql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
* @treemap.warnOn lowValues
88
* @metricType file
99
* @metricAggregate avg sum max
10-
* @precision very-high
1110
* @id cpp/lines-of-comments-in-files
1211
* @tags maintainability
1312
* documentation

cpp/ql/src/Metrics/Files/FLinesOfDuplicatedCode.ql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
* @treemap.warnOn highValues
99
* @metricType file
1010
* @metricAggregate avg sum max
11-
* @precision high
1211
* @id cpp/duplicated-lines-in-files
1312
* @tags testability
1413
* modularity

cpp/ql/src/Metrics/Files/FNumberOfTests.ql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
* @treemap.warnOn lowValues
66
* @metricType file
77
* @metricAggregate avg sum max
8-
* @precision medium
98
* @id cpp/tests-in-files
109
* @tags maintainability
1110
*/

cpp/ql/src/external/tests/DefectFilter.ql

Lines changed: 0 additions & 12 deletions
This file was deleted.

cpp/ql/src/external/tests/DefectFromExternalData.ql

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)