{"record":{"id":"469e8b110c23adba","repo":"dotnet/maui","slug":"all-tests-are-marked-inconclusive-no-tests-ran-t","errorCode":null,"errorMessage":"All tests are marked inconclusive, no tests ran. There is probably something wrong with running the tests.","messagePattern":"All tests are marked inconclusive, no tests ran\\. There is probably something wrong with running the tests\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"eng/devices/devices-shared.cake","lineNumber":152,"sourceCode":"{\n    Information($\"Looking for .apk files in {directory}\");\n    return GetFiles($\"{directory}/*-Signed.apk\").Select(file => file.FullPath);\n}\n\n\nvoid FailRunOnOnlyInconclusiveTests(string testResultsFile)\n{\n    // When all tests are inconclusive the run does not fail, check if this is the case and fail the pipeline so we get notified\n    var totalTestCount = XmlPeek(testResultsFile, \"/assemblies/assembly/@total\");\n    var inconclusiveTestCount = XmlPeek(testResultsFile, \"/assemblies/assembly/@inconclusive\");\n\n    if (totalTestCount == null)\n    {\n        throw new Exception(\"Could not find total or inconclusive test count in test results.\");\n    }\n    if (totalTestCount.Equals(inconclusiveTestCount))\n    {\n        throw new Exception(\"All tests are marked inconclusive, no tests ran. There is probably something wrong with running the tests.\");\n    }\n}\n\nvoid CleanResults(string resultsDir)\n{\n    Information($\"Cleaning test results: {resultsDir}\");\n\n    if (!IsCIBuild())\n    {\n        CleanDirectories(resultsDir);\n    }\n    else\n    {\n        // Because we retry on CI we don't want to delete the previous failures\n        // We want to publish those files for reference\n        DeleteFiles(Directory(resultsDir).Path.Combine(\"*.*\").FullPath);\n    }\n}","sourceCodeStart":134,"sourceCodeEnd":170,"githubUrl":"https://github.com/dotnet/maui/blob/f377ff1c5ee04d334d8a925f50c83a6b7afddf03/eng/devices/devices-shared.cake#L134-L170","documentation":"Thrown by FailRunOnOnlyInconclusiveTests when the total test count equals the inconclusive test count. This detects the dangerous case where the test runner reports success (no failures) but in reality every test was skipped/inconclusive — i.e. nothing actually ran, hiding a broken test setup.","triggerScenarios":"totalTestCount != null AND totalTestCount.Equals(inconclusiveTestCount) — every reported test is inconclusive, so the run effectively validated nothing.","commonSituations":"All tests are filtered out or skipped due to a missing platform/category mismatch; the test adapter failed to discover/load tests but marked them inconclusive; a [Fact(Skip=...)] or platform-guard caused every test to skip; the app under test crashed before any test could run.","solutions":["Open the results file and read the skip reasons / messages for the inconclusive tests to find the root cause.","Check that the test platform/category filters and the target device/app allow tests to actually execute.","Verify the app-under-test launched successfully (for UI tests) — a crashed app often makes all tests inconclusive.","Confirm the test adapter version matches the test framework; adapter mismatches can mark all tests inconclusive."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"var total = XmlPeek(testResultsFile, \"/assemblies/assembly/@total\");\nvar inconclusive = XmlPeek(testResultsFile, \"/assemblies/assembly/@inconclusive\");\nif (total != null && inconclusive != null && total.Equals(inconclusive) && int.Parse(total) > 0)\n    Warning($\"All {total} tests inconclusive — investigate test discovery/execution before trusting this run.\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Inspect skip reasons in the results file whenever total==inconclusive.","Ensure test adapter and framework versions are compatible.","Confirm the app-under-test actually launches for UI tests; a crashed app often yields all-inconclusive."],"tags":["test-results","inconclusive","xunit","test-discovery","validation"],"backgroundTag":null,"analyzedSha":"f377ff1c5ee04d334d8a925f50c83a6b7afddf03","analyzedAt":"2026-08-13T14:26:18.069Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}