mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Tests: number of referrers depends on interpreter version, check for names instead
This commit is contained in:
@@ -1155,11 +1155,17 @@ public class PythonDebuggerTest extends PyEnvTestCase {
|
||||
toggleBreakpoint(getFilePath(getScriptName()), 3);
|
||||
}
|
||||
|
||||
private String getRefWithWordInName(List<String> referrersNames, String word) {
|
||||
return referrersNames.stream().filter(x -> x.contains(word)).findFirst().get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void testing() throws Exception {
|
||||
waitForPause();
|
||||
int numberOfReferringObjects = getNumberOfReferringObjects("l");
|
||||
assertEquals(3, numberOfReferringObjects);
|
||||
List<String> referrersNames = getNumberOfReferringObjects("l");
|
||||
assertNotNull(getRefWithWordInName(referrersNames, "frame"));
|
||||
assertNotNull(getRefWithWordInName(referrersNames, "module"));
|
||||
assertNotNull(getRefWithWordInName(referrersNames, "dict"));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -323,15 +323,19 @@ public abstract class PyBaseDebuggerTask extends PyExecutionFixtureTestTask {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected int getNumberOfReferringObjects(String name) throws PyDebuggerException {
|
||||
protected List<String> getNumberOfReferringObjects(String name) throws PyDebuggerException {
|
||||
XValue var = XDebuggerTestUtil.evaluate(mySession, name).first;
|
||||
final PyReferringObjectsValue value = new PyReferringObjectsValue((PyDebugValue)var);
|
||||
EvaluationCallback<Integer> callback = new EvaluationCallback<>();
|
||||
EvaluationCallback<List<String>> callback = new EvaluationCallback<>();
|
||||
|
||||
myDebugProcess.loadReferrers(value, new PyDebugCallback<XValueChildrenList>() {
|
||||
@Override
|
||||
public void ok(XValueChildrenList valueList) {
|
||||
callback.evaluated(valueList.size());
|
||||
ArrayList<String> values = new ArrayList<>();
|
||||
for (int i = 0; i < valueList.size(); ++i) {
|
||||
values.add(valueList.getName(i));
|
||||
}
|
||||
callback.evaluated(values);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -340,7 +344,7 @@ public abstract class PyBaseDebuggerTask extends PyExecutionFixtureTestTask {
|
||||
}
|
||||
});
|
||||
|
||||
final Pair<Integer, String> result = callback.waitFor(NORMAL_TIMEOUT);
|
||||
final Pair<List<String>, String> result = callback.waitFor(NORMAL_TIMEOUT);
|
||||
if (result.second != null) {
|
||||
throw new PyDebuggerException(result.second);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user