| # 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 |