You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] [ ERROR ] Suite 'folder1' contains no tests or tasks. #656
Describe the bug
Since recently (don't exact when) I'm having an issue running testcases in VS Code specifically when I have set paths = ["folder1", "folder2"] in my robot.toml.
I get this error:
[ ERROR ] Suite 'folder1' contains no tests or tasks.
It doesn't matter if I have 1 or more folders set in paths but when I remove that line from my robot.toml I have no problem running tests using the VS Code run buttons.
I also have no issues running the testcases when running them from the commandline (in VS Code or outside it) when the paths are set. My colleague has the same issue, both of us on multiple machines.
Steps To Reproduce
Steps to reproduce the behavior:
Open the project (attached as zip in comment below)
Open a suite file
Click the run button in front of the testcase
See error [ ERROR ] Suite 'folder1' contains no tests or tasks.
When running the command robotcode robot -t "My Amazing Testcase" . the test runs normally as expected.
Expected behavior
The should run
Screenshots/ Videos
If applicable, add screenshots or videos to help explain your problem.
thanks for the sample project, that made it easy to reproduce.
This is a Robot Framework problem. For runs from VS Code, RobotCode passes --parseinclude with the files of the selected tests. That way Robot Framework parses only the files it needs instead of the whole project. This is faster, especially in larger projects, and keeps errors in unrelated files out of the run. With several paths, though, Robot Framework checks each path for tests, and folder1 counts as empty because none of its files were parsed. Plain robot gives the same error in your sample project:
Up to Robot Framework 6.0, --suite also kept non-matching files from being parsed, and in that case Robot Framework skipped this check. Robot Framework 6.1 stopped --suite from doing that because of the new Name setting, and added --parseinclude to explicitly select which files are parsed. The check isn't skipped for --parseinclude, so 6.1 up to 7.5 are affected. In RobotCode it came back with 2.7.0, because 2.6.0 to 2.6.2 accidentally didn't pass --parseinclude (#624). #348 and #646 are the same problem.
Workaround: add run-empty-suite = true to your robot.toml. The name = … line from #348 is no longer needed. The setting also applies on the command line: a run whose filters match no tests then ends without an error.
Robot Framework issue: there's none for this yet. robotframework/robotframework#4289, which I mentioned in #348 and #646, is about the name of the top-level suite. If you like, you could open one. The robot command above shows the problem without RobotCode, and these details might help:
Details for a Robot Framework issue
Affected: Robot Framework 6.1 to 7.5 and current master.
With several data sources, TestSuiteBuilder.build() checks each top-level suite for tests unless --runemptysuite is used.
Activity
emilezwiggelaar commentedon Sep 29, 2026
robotcode_issue.zip
d-biehl commentedon Oct 6, 2026
Hi Emile,
thanks for the sample project, that made it easy to reproduce.
This is a Robot Framework problem. For runs from VS Code, RobotCode passes
--parseincludewith the files of the selected tests. That way Robot Framework parses only the files it needs instead of the whole project. This is faster, especially in larger projects, and keeps errors in unrelated files out of the run. With severalpaths, though, Robot Framework checks each path for tests, andfolder1counts as empty because none of its files were parsed. Plainrobotgives the same error in your sample project:Up to Robot Framework 6.0,
--suitealso kept non-matching files from being parsed, and in that case Robot Framework skipped this check. Robot Framework 6.1 stopped--suitefrom doing that because of the newNamesetting, and added--parseincludeto explicitly select which files are parsed. The check isn't skipped for--parseinclude, so 6.1 up to 7.5 are affected. In RobotCode it came back with 2.7.0, because 2.6.0 to 2.6.2 accidentally didn't pass--parseinclude(#624). #348 and #646 are the same problem.Workaround: add
run-empty-suite = trueto yourrobot.toml. Thename = …line from #348 is no longer needed. The setting also applies on the command line: a run whose filters match no tests then ends without an error.Robot Framework issue: there's none for this yet. robotframework/robotframework#4289, which I mentioned in #348 and #646, is about the name of the top-level suite. If you like, you could open one. The
robotcommand above shows the problem without RobotCode, and these details might help:Details for a Robot Framework issue
TestSuiteBuilder.build()checks each top-level suite for tests unless--runemptysuiteis used.--suitealso limited parsing, and the check was skipped in that case:if not self.included_suites and not self.allow_empty_suite:--suitefrom limiting parsing (Do not exclude files during parsing if using--suiteoption robotframework/robotframework#4688) and added--parseinclude(Add explicit command line option to limit which files are parsed robotframework/robotframework#4687). The condition becameif not self.allow_empty_suite:, so the check isn't skipped when--parseincludelimits parsing.--parseinclude, check only the whole suite instead of each data source, so a run without any tests still fails.If you open one, please link it here.
docs(openspec): drop the --runemptysuite workaround from the intellij…
feat(intellij): parse only the selected files when running a single t…