summaryrefslogtreecommitdiffstats
path: root/lldb/test/Shell/Settings/TestSettingsWrite.test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/test/Shell/Settings/TestSettingsWrite.test')
-rw-r--r--lldb/test/Shell/Settings/TestSettingsWrite.test32
1 files changed, 32 insertions, 0 deletions
diff --git a/lldb/test/Shell/Settings/TestSettingsWrite.test b/lldb/test/Shell/Settings/TestSettingsWrite.test
new file mode 100644
index 00000000000..72dcd73e33f
--- /dev/null
+++ b/lldb/test/Shell/Settings/TestSettingsWrite.test
@@ -0,0 +1,32 @@
+# This tests writing and reading settings from LLDB.
+
+# Check that the settings can be written to file and read again without
+# altering the values.
+# RUN: %lldb -b -o 'settings write -f %t.foo' -o 'settings read -f %t.foo' -o 'settings write -f %t.bar' -o 'settings read -f %t.bar' 2>&1 | FileCheck %s --check-prefix SUCCESS
+# RUN: diff -w %t.foo %t.bar
+# SUCCESS-NOT: error:
+
+# Check that exporting target settings only export target settings and nothing else.
+# RUN: %lldb -b -o 'settings write -f %t.target target' 2>&1 | FileCheck %s --check-prefix SUCCESS
+# RUN: cat %t.target | FileCheck %s --check-prefix TARGET
+# TARGET: settings set -f target
+# TARGET-NOT: settings set -f platform
+# TARGET-NOT: settings set -f symbols
+# TARGET-NOT: settings set -f interpreter
+# TARGET-NOT: settings set -f plugin
+
+# Check that settings appear twice when appending.
+# RUN: %lldb -b -o 'settings write -a -f %t.append target' -o 'settings write -a -f %t.append target' 2>&1 | FileCheck %s --check-prefix SUCCESS
+# RUN: cat %t.append | FileCheck %s --check-prefix APPEND
+# APPEND: settings set -f target.language
+# APPEND: settings set -f target.language
+
+# Check that an error is printed for non-existing setting.
+# RUN: echo "settings set -f bogus" > %t.bogus_setting
+# RUN: %lldb -b -o 'settings read -f %t.bogus_setting' 2>&1 | FileCheck %s --check-prefix BOGUS-SETTING
+# BOGUS-SETTING: error: invalid value path
+
+# Check that an error is printed for invalid value.
+# RUN: echo "settings set -f target.language bogus" > %t.bogus_value
+# RUN: %lldb -b -o 'settings read -f %t.bogus_value' 2>&1 | FileCheck %s --check-prefix BOGUS-VALUE
+# BOGUS-VALUE: error: invalid language type
OpenPOWER on IntegriCloud