1*87aa9c9eSJonas Devlieghere# This tests writing and reading settings from LLDB. 2*87aa9c9eSJonas Devlieghere 3*87aa9c9eSJonas Devlieghere# Check that the settings can be written to file and read again without 4*87aa9c9eSJonas Devlieghere# altering the values. 5*87aa9c9eSJonas Devlieghere# 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 6*87aa9c9eSJonas Devlieghere# RUN: diff -w %t.foo %t.bar 7*87aa9c9eSJonas Devlieghere# SUCCESS-NOT: error: 8*87aa9c9eSJonas Devlieghere 9*87aa9c9eSJonas Devlieghere# Check that exporting target settings only export target settings and nothing else. 10*87aa9c9eSJonas Devlieghere# RUN: %lldb -b -o 'settings write -f %t.target target' 2>&1 | FileCheck %s --check-prefix SUCCESS 11*87aa9c9eSJonas Devlieghere# RUN: cat %t.target | FileCheck %s --check-prefix TARGET 12*87aa9c9eSJonas Devlieghere# TARGET: settings set -f target 13*87aa9c9eSJonas Devlieghere# TARGET-NOT: settings set -f platform 14*87aa9c9eSJonas Devlieghere# TARGET-NOT: settings set -f symbols 15*87aa9c9eSJonas Devlieghere# TARGET-NOT: settings set -f interpreter 16*87aa9c9eSJonas Devlieghere# TARGET-NOT: settings set -f plugin 17*87aa9c9eSJonas Devlieghere 18*87aa9c9eSJonas Devlieghere# Check that settings appear twice when appending. 19*87aa9c9eSJonas Devlieghere# 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 20*87aa9c9eSJonas Devlieghere# RUN: cat %t.append | FileCheck %s --check-prefix APPEND 21*87aa9c9eSJonas Devlieghere# APPEND: settings set -f target.language 22*87aa9c9eSJonas Devlieghere# APPEND: settings set -f target.language 23*87aa9c9eSJonas Devlieghere 24*87aa9c9eSJonas Devlieghere# Check that an error is printed for non-existing setting. 25*87aa9c9eSJonas Devlieghere# RUN: echo "settings set -f bogus" > %t.bogus_setting 26*87aa9c9eSJonas Devlieghere# RUN: %lldb -b -o 'settings read -f %t.bogus_setting' 2>&1 | FileCheck %s --check-prefix BOGUS-SETTING 27*87aa9c9eSJonas Devlieghere# BOGUS-SETTING: error: invalid value path 28*87aa9c9eSJonas Devlieghere 29*87aa9c9eSJonas Devlieghere# Check that an error is printed for invalid value. 30*87aa9c9eSJonas Devlieghere# RUN: echo "settings set -f target.language bogus" > %t.bogus_value 31*87aa9c9eSJonas Devlieghere# RUN: %lldb -b -o 'settings read -f %t.bogus_value' 2>&1 | FileCheck %s --check-prefix BOGUS-VALUE 32*87aa9c9eSJonas Devlieghere# BOGUS-VALUE: error: invalid language type 33