void () { runPythonTest(new PySmartStepIntoDebuggerTask("/debug", "test3.py") { @Override public void before() { toggleBreakpoint(getFilePath(getScriptName()), 18); toggleBreakpoint(getFilePath(getScriptName()), 25); } @Override public void testing() throws Exception { waitForPause(); removeBreakpoint(getFilePath(getScriptName()), 18); smartStepInto("foo", 0); waitForPause(); assertSmartStepIntoVariants("zoo", "foo"); smartStepInto("foo", 0); waitForPause(); eval("x").hasValue("4"); resume(); waitForPause(); eval("a.z").hasValue("1"); resume(); waitForTerminate(); } @Override public @NotNull Set<String> getTags() { return ImmutableSet.of("-python3.9", "-python3.10", "-python3.11", "-python3.12"); } }); }