void (final String script, @Nullable Set<String> tags, boolean isSkipAllowed) { Assume.assumeFalse(UsefulTestCase.IS_UNDER_TEAMCITY); runPythonTest(new PyProcessWithConsoleTestTask<PyUnitTestProcessRunner>("/helpers/pydev", SdkCreationType.SDK_PACKAGES_ONLY) { @NotNull @Override protected PyUnitTestProcessRunner createProcessRunner() { return new PyUnitTestProcessRunner(script, 0); } @NotNull @Override public String getTestDataPath() { return PythonHelpersLocator.getPythonCommunityPath(); } @Override protected void checkTestResults(@NotNull final PyUnitTestProcessRunner runner, @NotNull final String stdout, @NotNull final String stderr, @NotNull final String all, int exitCode) { if (isSkipAllowed) { runner.assertNoFailures(); } else { runner.assertAllTestsPassed(); } } @NotNull @Override public Set<String> getTags() { if (tags == null) { return super.getTags(); } return tags; } }); }