From 5bc568eaa98a80d498350ee7f58e9df4e9fb53f1 Mon Sep 17 00:00:00 2001 From: cnc Date: Sat, 6 Jun 2026 05:12:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=BC=BA=20PythonPlugin=20=E8=B4=9F?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=8E=A2=E9=92=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pythonplugin/python_plugin_probe_main.cc | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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; }