void () { Assume.assumeFalse("Don't run under Windows", UsefulTestCase.IS_UNDER_TEAMCITY && SystemInfo.isWindows); final class ExecAndSpawnWithBytesArgsTask extends PyDebuggerTaskTagAware { private final static String BYTES_ARGS_WARNING = "pydev debugger: bytes arguments were passed to a new process creation function. " + "Breakpoints may not work correctly.\n"; private ExecAndSpawnWithBytesArgsTask(@Nullable String relativeTestDataPath, String scriptName) { super(relativeTestDataPath, scriptName); } @Override protected void init() { setMultiprocessDebug(true); } @Override public void before() { toggleBreakpoint(getFilePath(getScriptName()), 4); } @Override public void testing() throws Exception { waitForPause(); setProcessCanTerminate(true); resume(); waitForOutput(BYTES_ARGS_WARNING); } @NotNull @Override public Set<String> getTags() { return ImmutableSet.of("-iron", "-jython"); } } Arrays.asList("test_call_exec_with_bytes_args.py", "test_call_spawn_with_bytes_args.py") .forEach((script) -> runPythonTest(new ExecAndSpawnWithBytesArgsTask("/debug", script))); }