|
1 | 1 | using System; |
2 | 2 | using System.Collections; |
3 | 3 | using System.Collections.Generic; |
4 | | -using System.Diagnostics; |
5 | 4 | using System.IO; |
6 | 5 | using System.Linq; |
7 | 6 | using System.Reflection; |
@@ -32,9 +31,14 @@ partial void Execute(string testName) |
32 | 31 | .Select(x => new TaskItem(x.Value) { ["FullPath"] = Path.Combine(DatabaseTestUtility.DatabaseProjectDirectory, x.Value) }) |
33 | 32 | .ToArray(); |
34 | 33 |
|
| 34 | + // master.dacpac is actually required otherwise causes this error: |
| 35 | + // CodeAnalysis\dbx_codeanalysis_error_002.sql(84,10,84,10):error 71502:Procedure: [dbo].[dbx_codeanalysis_error_002_x] has an unresolved reference to object [dbo].[sp_executesql]. |
| 36 | + // The master.dacpac lies in the VS IDE folder with an installed SSDT, which is not available in CI builds, therefore ignore it for now. |
| 37 | + ICollection<TaskItem> references = Array.Empty<TaskItem>(); |
| 38 | + |
35 | 39 | TestLogger logger = new TestLogger(base.Out, distinctErrorLogging: true); |
36 | 40 |
|
37 | | - TSqlModel model = PublicSqlDataSchemaModelLoader.Load(DatabaseTestUtility.ProjectName, DatabaseTestUtility.DatabaseSchemaProviderName, DatabaseTestUtility.ModelCollation, sources, Array.Empty<TaskItem>(), logger); |
| 41 | + TSqlModel model = PublicSqlDataSchemaModelLoader.Load(DatabaseTestUtility.ProjectName, DatabaseTestUtility.DatabaseSchemaProviderName, DatabaseTestUtility.ModelCollation, sources, references, logger); |
38 | 42 | LockEntryManager lockEntryManager = LockEntryManager.Create(); |
39 | 43 | ISqlCodeAnalysisRuleEngine engine = SqlCodeAnalysisRuleEngine.Create(model, DatabaseTestUtility.ProjectName, new SqlCodeAnalysisConfiguration("dbx"), false, lockEntryManager, logger); |
40 | 44 | IEnumerable<SqlCodeAnalysisError> errors = engine.Analyze(violationScriptPath, ruleInstance); |
|
0 commit comments