|
1 | 1 | using Xunit; |
2 | 2 | using Semmle.Autobuild.Shared; |
| 3 | +using Semmle.Util; |
3 | 4 | using System.Collections.Generic; |
4 | 5 | using System; |
5 | 6 | using System.Linq; |
@@ -75,6 +76,15 @@ int IBuildActions.RunProcess(string cmd, string args, string? workingDirectory, |
75 | 76 | throw new ArgumentException("Missing RunProcess " + pattern); |
76 | 77 | } |
77 | 78 |
|
| 79 | + int IBuildActions.RunProcess(string cmd, string args, string? workingDirectory, IDictionary<string, string>? env, BuildOutputHandler onOutput, BuildOutputHandler onError) |
| 80 | + { |
| 81 | + var ret = (this as IBuildActions).RunProcess(cmd, args, workingDirectory, env, out var stdout); |
| 82 | + |
| 83 | + stdout.ForEach(line => onOutput(line)); |
| 84 | + |
| 85 | + return ret; |
| 86 | + } |
| 87 | + |
78 | 88 | public IList<string> DirectoryDeleteIn = new List<string>(); |
79 | 89 |
|
80 | 90 | void IBuildActions.DirectoryDelete(string dir, bool recursive) |
@@ -184,6 +194,15 @@ public void DownloadFile(string address, string fileName) |
184 | 194 | if (!DownloadFiles.Contains((address, fileName))) |
185 | 195 | throw new ArgumentException($"Missing DownloadFile, {address}, {fileName}"); |
186 | 196 | } |
| 197 | + |
| 198 | + public IDiagnosticsWriter CreateDiagnosticsWriter(string filename) => new TestDiagnosticWriter(); |
| 199 | + } |
| 200 | + |
| 201 | + internal class TestDiagnosticWriter : IDiagnosticsWriter |
| 202 | + { |
| 203 | + public IList<DiagnosticMessage> Diagnostics { get; } = new List<DiagnosticMessage>(); |
| 204 | + |
| 205 | + public void AddEntry(DiagnosticMessage message) => this.Diagnostics.Add(message); |
187 | 206 | } |
188 | 207 |
|
189 | 208 | /// <summary> |
@@ -243,6 +262,7 @@ CppAutobuilder CreateAutoBuilder(bool isWindows, |
243 | 262 | Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_TRAP_DIR"] = ""; |
244 | 263 | Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_SOURCE_ARCHIVE_DIR"] = ""; |
245 | 264 | Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_ROOT"] = $@"C:\codeql\{codeqlUpperLanguage.ToLowerInvariant()}"; |
| 265 | + Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_DIAGNOSTIC_DIR"] = ""; |
246 | 266 | Actions.GetEnvironmentVariable["CODEQL_JAVA_HOME"] = @"C:\codeql\tools\java"; |
247 | 267 | Actions.GetEnvironmentVariable["CODEQL_PLATFORM"] = "win64"; |
248 | 268 | Actions.GetEnvironmentVariable["SEMMLE_DIST"] = @"C:\odasa"; |
|
0 commit comments