pythonpath.add(libDir.toString());
final InterpreterInfo info = new InterpreterInfo("2.6", TestDependent.PYTHON_EXE, pythonpath);
IPreferenceStore preferences = new PreferenceStore();
final PythonInterpreterManager manager = new PythonInterpreterManager(preferences);
PydevPlugin.setPythonInterpreterManager(manager);
manager.setInfos(new IInterpreterInfo[] { info }, new HashSet<String>(), null);
final AdditionalSystemInterpreterInfo additionalInfo = new AdditionalSystemInterpreterInfo(manager,
info.getExecutableOrJar());
AdditionalSystemInterpreterInfo.setAdditionalSystemInfo(manager, info.getExecutableOrJar(), additionalInfo);
//Don't load it (otherwise it'll get the 'proper' info).
//AdditionalSystemInterpreterInfo.loadAdditionalSystemInfo(manager, info.getExecutableOrJar());
final ISystemModulesManager modulesManager = info.getModulesManager();
assertEquals(0, modulesManager.getSize(false));
assertEquals(0, additionalInfo.getAllTokens().size());
InterpreterInfoBuilder builder = new InterpreterInfoBuilder();
builder.setInfo(info, 0);
waitUntilCondition(new ICallback<String, Object>() {
public String call(Object arg) {
int size = modulesManager.getSize(false);
if (size == 3) {
return null;
}
return "Expected size = 3, found: " + size;
}
});
waitUntilCondition(new ICallback<String, Object>() {
public String call(Object arg) {
try {
AbstractAdditionalDependencyInfo additionalSystemInfo = AdditionalSystemInterpreterInfo
.getAdditionalSystemInfo(manager, manager.getInterpreterInfos()[0].getExecutableOrJar(),
true);
if (additionalInfo != additionalSystemInfo) {
throw new RuntimeException("Expecting it to be the same instance.");
}
} catch (MisconfigurationException e) {