| # This test validates the plugin list command. |
| # 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 without an argument will list all plugins. |
| plugin list |
| # CHECK-LABEL: plugin list |
| # CHECK-DAG: instrumentation-runtime |
| # CHECK-DAG: [+] AddressSanitizer AddressSanitizer instrumentation runtime plugin. |
| # CHECK-DAG: system-runtime |
| # CHECK-DAG: [+] systemruntime-macosx System runtime plugin for Mac OS X native libraries |
| |
| # Test plugin list works with fully qualified name. |
| plugin list system-runtime.systemruntime-macosx |
| # CHECK-LABEL: plugin list system-runtime.systemruntime-macosx |
| # CHECK: system-runtime |
| # CHECK: [+] systemruntime-macosx System runtime plugin for Mac OS X native libraries |
| |
| # Test plugin list on plugin namespace works. |
| plugin list system-runtime |
| # CHECK-LABEL: plugin list system-runtime |
| # CHECK: system-runtime |
| # CHECK: [+] systemruntime-macosx System runtime plugin for Mac OS X native libraries |
| |
| # Test plugin list on multiple args works. |
| plugin list system-runtime instrumentation-runtime.AddressSanitizer |
| # CHECK-LABEL: plugin list system-runtime instrumentation-runtime.AddressSanitizer |
| # 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 json output for plugin list. |
| plugin list --json |
| # CHECK-LABEL plugin list --json |
| # CHECK: { |
| # CHECK-DAG: "instrumentation-runtime": |
| # CHECK-DAG: "system-runtime": |
| # CHECK: } |
| |
| # Test json output for plugin list with a namespace |
| plugin list system-runtime --json |
| # CHECK-LABEL plugin list --json |
| # CHECK: { |
| # CHECK: "system-runtime": [ |
| # CHECK: { |
| # CHECK-DAG: "enabled": true |
| # CHECK-DAG: "name": "systemruntime-macosx" |
| # CHECK: } |
| # CHECK: ] |
| # CHECK: } |
| |
| # Test json output for listing multiple plugins |
| plugin list --json system-runtime instrumentation-runtime.AddressSanitizer |
| # CHECK-LABEL plugin list --json system-runtime instrumentation-runtime.AddressSanitizer |
| # CHECK: { |
| # CHECK-DAG: "instrumentation-runtime": |
| # CHECK-DAG: "name": "AddressSanitizer" |
| # CHECK-DAG: "system-runtime": |
| # CHECK: } |
| |
| |
| # Test plugin list does not match a plugin name by substring. |
| # RUN: %lldb -o "plugin list macosx" 2>&1 | FileCheck %s --check-prefix=ERROR_PLUGIN_NOT_FOUND |
| |
| # Test plugin list does not match a plugin namespace by substring. |
| # RUN: %lldb -o "plugin list system-runtime." 2>&1 | FileCheck %s --check-prefix=ERROR_PLUGIN_NOT_FOUND |
| |
| # Test plugin list returns an error for unknown second argument |
| # RUN: %lldb -o "plugin list system-runtime foo" 2>&1 | FileCheck %s --check-prefix=ERROR_PLUGIN_NOT_FOUND |
| |
| # Test plugin list returns an error for unknown second argument |
| # RUN: %lldb -o "plugin list --json system-runtime foo" 2>&1 | FileCheck %s --check-prefix=ERROR_PLUGIN_NOT_FOUND |
| |
| # Test plugin list for unknown plugin returns an error. |
| # RUN: %lldb -o "plugin list 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 |