| # This test validates the plugin enable and disable commands. | |
| # Currently it works only for system-runtime plugins and we only have one | |
| # system runtime plugin so testing is a bit limited. | |
| # | |
| # Note that commands that return errors will stop running a script, so we | |
| # have new RUN lines for any command that is expected to return an error. | |
| # RUN: %lldb -s %s -o exit 2>&1 | FileCheck %s | |
| # Test plugin list shows the default state which is expected to be enabled. | |
| plugin list | |
| # CHECK-LABEL: plugin list | |
| # CHECK: system-runtime | |
| # CHECK: [+] systemruntime-macosx System runtime plugin for Mac OS X native libraries | |
| # Test plugin disable disables a plugin. | |
| plugin disable system-runtime.systemruntime-macosx | |
| # CHECK-LABEL: plugin disable system-runtime.systemruntime-macosx | |
| # CHECK: system-runtime | |
| # CHECK: [-] systemruntime-macosx System runtime plugin for Mac OS X native libraries | |
| # Make sure plugin list shows it disabled as well. | |
| plugin list | |
| # CHECK: system-runtime | |
| # CHECK: [-] systemruntime-macosx System runtime plugin for Mac OS X native libraries | |
| # Test plugin enable re-enables a plugin. | |
| plugin enable system-runtime.systemruntime-macosx | |
| # CHECK-LABEL: plugin enable system-runtime.systemruntime-macosx | |
| # CHECK: system-runtime | |
| # CHECK: [+] systemruntime-macosx System runtime plugin for Mac OS X native libraries | |
| # Make sure plugin list shows it enabled as well. | |
| plugin list | |
| # CHECK: system-runtime | |
| # CHECK: [+] systemruntime-macosx System runtime plugin for Mac OS X native libraries | |
| # Test plugin disable with namespace works. | |
| plugin disable system-runtime | |
| # CHECK-LABEL: plugin disable system-runtime | |
| # CHECK: system-runtime | |
| # CHECK: [-] systemruntime-macosx System runtime plugin for Mac OS X native libraries | |
| # Test plugin enable with namespace works. | |
| plugin enable system-runtime | |
| # CHECK-LABEL: plugin enable system-runtime | |
| # CHECK: system-runtime | |
| # CHECK: [+] systemruntime-macosx System runtime plugin for Mac OS X native libraries | |
| # Test plugin enable/disable for instrumentation plugin works. | |
| plugin enable instrumentation-runtime | |
| # CHECK-LABEL: plugin enable instrumentation-runtime | |
| # CHECK: instrumentation-runtime | |
| # CHECK: [+] AddressSanitizer | |
| plugin disable instrumentation-runtime | |
| # CHECK-LABEL: plugin disable instrumentation-runtime | |
| # CHECK: instrumentation-runtime | |
| # CHECK: [-] AddressSanitizer | |
| # Test plugin enable with multiple arguments. | |
| plugin enable system-runtime instrumentation-runtime | |
| # CHECK-LABEL: plugin enable system-runtime instrumentation-runtime | |
| # CHECK: system-runtime | |
| # CHECK: [+] systemruntime-macosx System runtime plugin for Mac OS X native libraries. | |
| # CHECK: instrumentation-runtime | |
| # CHECK: [+] AddressSanitizer AddressSanitizer instrumentation runtime plugin. | |
| # Test plugin disable with multiple arguments. | |
| plugin disable system-runtime instrumentation-runtime | |
| # CHECK-LABEL: plugin disable system-runtime instrumentation-runtime | |
| # CHECK: system-runtime | |
| # CHECK: [-] systemruntime-macosx System runtime plugin for Mac OS X native libraries. | |
| # CHECK: instrumentation-runtime | |
| # CHECK: [-] AddressSanitizer AddressSanitizer instrumentation runtime plugin. | |
| # Test plugin enable/disable for unknown plugin returns an error. | |
| # RUN: %lldb -o "plugin enable some-plugin-that-does-not-exist" 2>&1 | FileCheck %s --check-prefix=ERROR_PLUGIN_NOT_FOUND | |
| # RUN: %lldb -o "plugin disable some-plugin-that-does-not-exist" 2>&1 | FileCheck %s --check-prefix=ERROR_PLUGIN_NOT_FOUND | |
| # RUN: %lldb -o "plugin enable system-runtime some-plugin-that-does-not-exist" 2>&1 | FileCheck %s --check-prefix=ERROR_PLUGIN_NOT_FOUND | |
| # ERROR_PLUGIN_NOT_FOUND: error: Found no matching plugins | |
| # Test plugin enable/disable requires a plugin name. | |
| # RUN: %lldb -o "plugin enable" 2>&1 | FileCheck %s --check-prefix=ERROR_ARGUMENTS_ENABLE | |
| # ERROR_ARGUMENTS_ENABLE: error: 'plugin enable' requires one or more arguments | |
| # RUN: %lldb -o "plugin disable" 2>&1 | FileCheck %s --check-prefix=ERROR_ARGUMENTS_DISABLE | |
| # ERROR_ARGUMENTS_DISABLE: error: 'plugin disable' requires one or more arguments |