加强 PythonPlugin 负状态探针

This commit is contained in:
cnc
2026-06-06 05:12:39 +08:00
parent 23a4679c28
commit 5bc568eaa9

View File

@@ -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;
}