diff --git a/core/wasm_shims/pythonplugin/python_plugin_probe_main.cc b/core/wasm_shims/pythonplugin/python_plugin_probe_main.cc index 15bdd20..1a17dcb 100644 --- a/core/wasm_shims/pythonplugin/python_plugin_probe_main.cc +++ b/core/wasm_shims/pythonplugin/python_plugin_probe_main.cc @@ -16,22 +16,34 @@ int main() { if (plugin->configure(nullptr, nullptr) != PLUGIN_NO_SECTION) { return 6; } + if (plugin->usable()) { + return 26; + } if (plugin->last_errmsg() != "no section") { return 23; } if (plugin->configure("/tmp/cnc_sim_missing_python_plugin_probe.ini", "PYTHON") != PLUGIN_BAD_INIFILE) { return 7; } + if (plugin->usable()) { + return 27; + } boost::python::object retval; if (plugin->call(nullptr, "noop", boost::python::object(), boost::python::object(), retval) != PLUGIN_BAD_INIFILE) { return 14; } + if (plugin->is_callable(nullptr, "noop")) { + return 28; + } if (plugin->call_method(boost::python::object(), retval) != PLUGIN_BAD_INIFILE) { return 15; } if (plugin->run_string("noop", retval, false) != PLUGIN_OK) { return 3; } + if (!plugin->usable()) { + return 29; + } unsetenv("INI_FILE_NAME"); if (plugin->configure(nullptr, "PYTHON") != PLUGIN_NO_INIFILE) { return 21; @@ -53,6 +65,10 @@ int main() { std::remove(ini); return 22; } + if (plugin->usable()) { + std::remove(ini); + return 30; + } unsetenv("INI_FILE_NAME"); if (plugin->configure(ini, "PYTHON") != PLUGIN_PYTHON_NOT_INITIALIZED) { std::remove(ini); @@ -65,9 +81,15 @@ int main() { if (plugin->call_method(boost::python::object(), retval) != PLUGIN_PYTHON_NOT_INITIALIZED) { return 19; } + if (plugin->is_callable(nullptr, "noop")) { + return 31; + } if (plugin->run_string("noop", retval, false) != PLUGIN_OK) { return 20; } + if (plugin->is_callable(nullptr, nullptr)) { + return 32; + } if (plugin->call(nullptr, nullptr, boost::python::object(), boost::python::object(), retval) != PLUGIN_NO_CALLABLE) { return 8; }