diff --git a/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/diagnostics.expected b/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/diagnostics.expected new file mode 100644 index 00000000000..1c22e0f376e --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/diagnostics.expected @@ -0,0 +1,32 @@ +{ + "attributes": {}, + "helpLinks": [], + "internal": false, + "location": {}, + "markdownMessage": "CodeQL was unable to build the following projects using MSBuild:\n- `test.sln`\nSet up a [manual build command](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages).", + "severity": "error", + "source": { + "extractorName": "csharp", + "id": "csharp/autobuilder/msbuild-build-failure", + "name": "Some projects or solutions failed to build using MSBuild" + }, + "visibility": { + "statusPage": true + } +} +{ + "attributes": {}, + "helpLinks": [], + "internal": false, + "location": {}, + "markdownMessage": "Some project files were not found when CodeQL built your project:\n\n- `Example.csproj`\n- `Example.Test.csproj`\n\nThis may lead to subsequent failures. You can check for common causes for missing project files:\n\n- Ensure that the project is built using the [intended operating system](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on) and that filenames on case-sensitive platforms are correctly specified.\n- If your repository uses Git submodules, ensure that those are [checked out](https://github.com/actions/checkout#usage) before the CodeQL action is run.\n- If you auto-generate some project files as part of your build process, ensure that these are generated before the CodeQL action is run.", + "severity": "error", + "source": { + "extractorName": "csharp", + "id": "csharp/autobuilder/missing-project-files", + "name": "Missing project files" + }, + "visibility": { + "statusPage": true + } +} diff --git a/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/test.py b/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/test.py new file mode 100644 index 00000000000..62c4d3934a4 --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/test.py @@ -0,0 +1,5 @@ +from create_database_utils import * +from diagnostics_test_utils import * + +run_codeql_database_create([], db=None, lang="csharp", runFunction=runUnsuccessfully) +check_diagnostics() diff --git a/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/test.sln b/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/test.sln new file mode 100644 index 00000000000..60a70f32fe2 --- /dev/null +++ b/csharp/ql/integration-tests/all-platforms/diag_missing_project_files/test.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example", "Example.csproj", "{F70CE6B6-1735-4AD2-B1EB-B91FCD1012D1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example.Test", "Example.Test.csproj", "{F4587B5F-9918-4079-9291-5A08CD9761FB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F70CE6B6-1735-4AD2-B1EB-B91FCD1012D1}.Debug|x86.ActiveCfg = Debug|x86 + {F70CE6B6-1735-4AD2-B1EB-B91FCD1012D1}.Debug|x86.Build.0 = Debug|x86 + {F70CE6B6-1735-4AD2-B1EB-B91FCD1012D1}.Release|x86.ActiveCfg = Release|x86 + {F70CE6B6-1735-4AD2-B1EB-B91FCD1012D1}.Release|x86.Build.0 = Release|x86 + {F4587B5F-9918-4079-9291-5A08CD9761FB}.Debug|x86.ActiveCfg = Debug|x86 + {F4587B5F-9918-4079-9291-5A08CD9761FB}.Debug|x86.Build.0 = Debug|x86 + {F4587B5F-9918-4079-9291-5A08CD9761FB}.Release|x86.ActiveCfg = Release|x86 + {F4587B5F-9918-4079-9291-5A08CD9761FB}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal