[clang-tools-extra] e8a3dda - [clang-tidy][NFC] Update tests to specify CheckOptions using new syntax

Piotr Zegar via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 7 12:32:58 PDT 2023


Author: Nathan James
Date: 2023-08-07T19:32:06Z
New Revision: e8a3ddafe063c970df9c23e803812369abde4c82

URL: https://github.com/llvm/llvm-project/commit/e8a3ddafe063c970df9c23e803812369abde4c82
DIFF: https://github.com/llvm/llvm-project/commit/e8a3ddafe063c970df9c23e803812369abde4c82.diff

LOG: [clang-tidy][NFC] Update tests to specify CheckOptions using new syntax

In D128337, The spelling of CheckOptions was updated to support a more natural dictionary syntax.
This patch is just updating all test files to use the new syntax.

Reviewed By: PiotrZSL

Differential Revision: https://reviews.llvm.org/D130209

Added: 
    

Modified: 
    clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
    clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-str-contains.cpp
    clang-tools-extra/test/clang-tidy/checkers/altera/single-work-item-barrier.cpp
    clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp
    clang-tools-extra/test/clang-tidy/checkers/android/comparison-in-temp-failure-retry-custom-macro.c
    clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-ignore-single-argument.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-literals.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-ignore.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicit-qualifiers.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.c
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len2.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len3.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-prefixsuffixname.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-qualifiermixing.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.c
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters.c
    clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-array-subscript-expression.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-explicit-only.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-implicit-enabled.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-before-safe.c
    clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier-invert.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-minimal.c
    clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-posix.c
    clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-char-misuse-with-option.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage-strict.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.c
    clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment-warn-only-if-this-has-suspicious-field.cpp
    clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-custom.cpp
    clang-tools-extra/test/clang-tidy/checkers/cert/msc32-c.c
    clang-tools-extra/test/clang-tidy/checkers/cert/msc51-cpp.cpp
    clang-tools-extra/test/clang-tidy/checkers/cert/oop57-cpp.cpp
    clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-glibc.cpp
    clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-posix.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-caps-only.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-command-line-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-custom.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-custom.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-no-functions.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory-legacy-functions.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init-assignment.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index-gslheader.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.ignorearrays.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-allow-missing-move-when-copy-is-deleted.cpp
    clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
    clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
    clang-tools-extra/test/clang-tidy/checkers/hicpp/multiway-paths-covered-else.cpp
    clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
    clang-tools-extra/test/clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
    clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind-permissive-parameter-list.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/deprecated-headers-extern-c.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-reverse.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared-header.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-default-init.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-header.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-delimiter.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new-remove-stars.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals-ignore-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-assignment.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-delete-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-clang-unused.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-cxx11.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-gcc-unused.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-no-macro-inscope-cxx11.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-macro.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-opt.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-allow-override-and-final.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-no-destructors.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-macro.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-no-macro-inscope.cpp
    clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/objc/forbidden-subclassing-custom.m
    clang-tools-extra/test/clang-tidy/checkers/openmp/exception-escape.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-allowed-types.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-warn-on-all-auto-copies.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-const-ref.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-trivially-copyable.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
    clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
    clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-allow.cpp
    clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-disallow.cpp
    clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-glob.cpp
    clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp
    clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-ppc.cpp
    clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-x86.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/.clang-tidy
    clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/.clang-tidy
    clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation1/.clang-tidy
    clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation2/.clang-tidy
    clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-few-lines.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-single-line.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-cond-var-refactor.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/function-size-variables-c++17.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/function-size.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-bugfix-name-conflicts.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-violation.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-ignored-regexp.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-main-like.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-member-decl-usage.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-multiple-styles.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-objc.m
    clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-in-conditions.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-strict.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-bitfields.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/redundant-access-specifiers-check-first-declaration.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get-macros.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-init.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-assignment.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-return.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-demorgan.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/simplify-subscript-expr.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance-nesting-threshold.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/uniqueptr-delete-release.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
    clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-macro.cpp
    clang-tools-extra/test/clang-tidy/checkers/zircon/temporary-objects.cpp
    clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
    clang-tools-extra/test/clang-tidy/infrastructure/expand-modular-headers-ppcallbacks.cpp
    clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy.cpp
    clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer-config.cpp
    clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp b/clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
index 7a1fd8233d8376..e51568077eda15 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s abseil-string-find-startswith %t -- \
-// RUN:   -config="{CheckOptions: [{key: 'abseil-string-find-startswith.StringLikeClasses', value: '::std::basic_string;::basic_string'}]}"
+// RUN:   -config="{CheckOptions: {abseil-string-find-startswith.StringLikeClasses: '::std::basic_string;::basic_string'}}"
 
 using size_t = decltype(sizeof(int));
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-str-contains.cpp b/clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-str-contains.cpp
index ba9a72a60bab05..bb9ba9918a1ba9 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-str-contains.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-str-contains.cpp
@@ -1,5 +1,4 @@
-// RUN: %check_clang_tidy %s abseil-string-find-str-contains %t -- \
-// RUN:   -config="{CheckOptions: []}"
+// RUN: %check_clang_tidy %s abseil-string-find-str-contains %t --
 
 using size_t = decltype(sizeof(int));
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/altera/single-work-item-barrier.cpp b/clang-tools-extra/test/clang-tidy/checkers/altera/single-work-item-barrier.cpp
index a6b31875e7c724..54f08ab6ddd32d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/altera/single-work-item-barrier.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/altera/single-work-item-barrier.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy -check-suffix=OLDCLOLDAOC %s altera-single-work-item-barrier %t -- -header-filter=.* "--" -cl-std=CL1.2 -c -DOLDCLOLDAOC
 // RUN: %check_clang_tidy -check-suffix=NEWCLOLDAOC %s altera-single-work-item-barrier %t -- -header-filter=.* "--" -cl-std=CL2.0 -c -DNEWCLOLDAOC
-// RUN: %check_clang_tidy -check-suffix=OLDCLNEWAOC %s altera-single-work-item-barrier %t -- -config='{CheckOptions: [{key: altera-single-work-item-barrier.AOCVersion, value: 1701}]}' -header-filter=.* "--" -cl-std=CL1.2 -c -DOLDCLNEWAOC
-// RUN: %check_clang_tidy -check-suffix=NEWCLNEWAOC %s altera-single-work-item-barrier %t -- -config='{CheckOptions: [{key: altera-single-work-item-barrier.AOCVersion, value: 1701}]}' -header-filter=.* "--" -cl-std=CL2.0 -c -DNEWCLNEWAOC
+// RUN: %check_clang_tidy -check-suffix=OLDCLNEWAOC %s altera-single-work-item-barrier %t -- -config='{CheckOptions: { altera-single-work-item-barrier.AOCVersion: 1701}}' -header-filter=.* "--" -cl-std=CL1.2 -c -DOLDCLNEWAOC
+// RUN: %check_clang_tidy -check-suffix=NEWCLNEWAOC %s altera-single-work-item-barrier %t -- -config='{CheckOptions: { altera-single-work-item-barrier.AOCVersion: 1701}}' -header-filter=.* "--" -cl-std=CL2.0 -c -DNEWCLNEWAOC
 
 #ifdef OLDCLOLDAOC  // OpenCL 1.2 Altera Offline Compiler < 17.1
 void __kernel error_barrier_no_id(__global int * foo, int size) {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp b/clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp
index 06c1cbaf3a28ab..c06cec794e8eb6 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp
@@ -1,5 +1,5 @@
-// RUN: %check_clang_tidy %s altera-unroll-loops %t -- -config="{CheckOptions: [{key: "altera-unroll-loops.MaxLoopIterations", value: 50}]}" -header-filter=.*
-// RUN: %check_clang_tidy -check-suffix=MULT %s altera-unroll-loops %t -- -config="{CheckOptions: [{key: "altera-unroll-loops.MaxLoopIterations", value: 5}]}" -header-filter=.* "--" -DMULT
+// RUN: %check_clang_tidy %s altera-unroll-loops %t -- -config="{CheckOptions: {altera-unroll-loops.MaxLoopIterations: 50}}" -header-filter=.*
+// RUN: %check_clang_tidy -check-suffix=MULT %s altera-unroll-loops %t -- -config="{CheckOptions: {altera-unroll-loops.MaxLoopIterations: 5}}" -header-filter=.* "--" -DMULT
 
 #ifdef MULT
 // For loops with *= and /= increments.

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/android/comparison-in-temp-failure-retry-custom-macro.c b/clang-tools-extra/test/clang-tidy/checkers/android/comparison-in-temp-failure-retry-custom-macro.c
index 5acfcafcead363..56c382c87f1f3c 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/android/comparison-in-temp-failure-retry-custom-macro.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/android/comparison-in-temp-failure-retry-custom-macro.c
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s android-comparison-in-temp-failure-retry %t -- -config="{CheckOptions: [{key: android-comparison-in-temp-failure-retry.RetryMacros, value: 'MY_TEMP_FAILURE_RETRY,MY_OTHER_TEMP_FAILURE_RETRY'}]}"
+// RUN: %check_clang_tidy %s android-comparison-in-temp-failure-retry %t -- -config="{CheckOptions: {android-comparison-in-temp-failure-retry.RetryMacros: 'MY_TEMP_FAILURE_RETRY,MY_OTHER_TEMP_FAILURE_RETRY'}}"
 
 #define MY_TEMP_FAILURE_RETRY(x) \
   ({                             \

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-ignore-single-argument.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-ignore-single-argument.cpp
index 5ebcb91d4a3da5..1e601053641ae0 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-ignore-single-argument.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-ignore-single-argument.cpp
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-argument-comment %t -- \
-// RUN:   -config="{CheckOptions: [ \
-// RUN:     {key: bugprone-argument-comment.IgnoreSingleArgument, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentBoolLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentIntegerLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentFloatLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentUserDefinedLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentStringLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentNullPtrs, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentCharacterLiterals, value: true}]}" --
+// RUN:   -config="{CheckOptions: { \
+// RUN:     bugprone-argument-comment.IgnoreSingleArgument: true, \
+// RUN:     bugprone-argument-comment.CommentBoolLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentIntegerLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentFloatLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentUserDefinedLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentStringLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentNullPtrs: true, \
+// RUN:     bugprone-argument-comment.CommentCharacterLiterals: true}}" --
 
 struct A {
   void foo(bool abc);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-literals.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-literals.cpp
index d576c187b101fe..f03488a14d9f59 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-literals.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-literals.cpp
@@ -1,12 +1,12 @@
 // RUN: %check_clang_tidy %s bugprone-argument-comment %t -- \
-// RUN:   -config="{CheckOptions: [ \
-// RUN:     {key: bugprone-argument-comment.CommentBoolLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentIntegerLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentFloatLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentUserDefinedLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentStringLiterals, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentNullPtrs, value: true}, \
-// RUN:     {key: bugprone-argument-comment.CommentCharacterLiterals, value: true}]}" --
+// RUN:   -config="{CheckOptions: { \
+// RUN:     bugprone-argument-comment.CommentBoolLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentIntegerLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentFloatLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentUserDefinedLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentStringLiterals: true, \
+// RUN:     bugprone-argument-comment.CommentNullPtrs: true, \
+// RUN:     bugprone-argument-comment.CommentCharacterLiterals: true}}" --
 
 struct A {
   void foo(bool abc);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
index 3ac3672982b5b0..c25d25ac5738fb 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s bugprone-argument-comment %t -- \
-// RUN:   -config="{CheckOptions: [{key: StrictMode, value: true}]}" --
+// RUN:   -config="{CheckOptions: {StrictMode: true}}" --
 
 void f(int _with_underscores_);
 void g(int x_);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp
index ccafeb4b7f3b19..6c41e1e320adea 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/assert-side-effect.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s bugprone-assert-side-effect %t -- -config="{CheckOptions: [{key: bugprone-assert-side-effect.CheckFunctionCalls, value: true}, {key: bugprone-assert-side-effect.AssertMacros, value: 'assert,assert2,my_assert,convoluted_assert,msvc_assert'}, {key: bugprone-assert-side-effect.IgnoredFunctions, value: 'MyClass::badButIgnoredFunc'}]}" -- -fexceptions -I %S/Inputs/assert-side-effect
+// RUN: %check_clang_tidy %s bugprone-assert-side-effect %t -- -config="{CheckOptions: {bugprone-assert-side-effect.CheckFunctionCalls: true, bugprone-assert-side-effect.AssertMacros: 'assert,assert2,my_assert,convoluted_assert,msvc_assert', bugprone-assert-side-effect.IgnoredFunctions: 'MyClass::badButIgnoredFunc'}}" -- -fexceptions -I %S/Inputs/assert-side-effect
 #include <assert.h>
 
 bool badButIgnoredFunc(int a, int b) { return a * b > 0; }

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp
index 5751b3d967a2c2..e99cc8b99d6a42 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy -std=c++11,c++14 %s bugprone-dangling-handle %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: bugprone-dangling-handle.HandleClasses, \
-// RUN:               value: 'std::basic_string_view; ::llvm::StringRef;'}]}"
+// RUN:             {bugprone-dangling-handle.HandleClasses: \
+// RUN:               'std::basic_string_view; ::llvm::StringRef;'}}"
 // FIXME: Fix the checker to work in C++17 or later mode.
 
 namespace std {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-ignore.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-ignore.cpp
index d10e367007d27e..27104b93da0acb 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-ignore.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-ignore.cpp
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: "\"\";Foo;Bar"}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: "T"}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' --
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "\"\";Foo;Bar", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "T", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 0, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' --
 
 void ignoredUnnamed(int I, int, int) {} // NO-WARN: No >= 2 length of non-unnamed.
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicit-qualifiers.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicit-qualifiers.cpp
index a3b33822268d92..dc89dc68f4538c 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicit-qualifiers.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicit-qualifiers.cpp
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 1}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 1}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' --
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 1, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 1, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' --
 
 void numericAndQualifierConversion(int I, const double CD) { numericAndQualifierConversion(CD, I); }
 // CHECK-MESSAGES: :[[@LINE-1]]:36: warning: 2 adjacent parameters of 'numericAndQualifierConversion' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters]

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.c b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.c
index e73b439ba43bfa..b9efc99c477b21 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.c
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 1}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' --
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 0, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 1, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' --
 
 void implicitDoesntBreakOtherStuff(int A, int B) {}
 // CHECK-MESSAGES: :[[@LINE-1]]:36: warning: 2 adjacent parameters of 'implicitDoesntBreakOtherStuff' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.cpp
index 6c09ab0d89cc38..44ba5d5d9f5902 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.cpp
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy -std=c++17-or-later %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 1}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' --
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 0, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 1, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' --
 
 void implicitDoesntBreakOtherStuff(int A, int B) {}
 // CHECK-MESSAGES: :[[@LINE-1]]:36: warning: 2 adjacent parameters of 'implicitDoesntBreakOtherStuff' of similar type ('int') are easily swapped by mistake [bugprone-easily-swappable-parameters]

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len2.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len2.cpp
index c061ad7958316c..ac7cc7d9a7b7c9 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len2.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len2.cpp
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' --
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 0, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' --
 
 namespace std {
 using size_t = decltype(sizeof(int));

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len3.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len3.cpp
index ee943e39d0386b..05900068e62f92 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len3.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len3.cpp
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 3}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' --
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 3, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 0, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' --
 
 int add(int Left, int Right) { return Left + Right; } // NO-WARN: Only 2 parameters.
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-prefixsuffixname.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-prefixsuffixname.cpp
index a60b45f4cf5ce0..72ce54e517304c 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-prefixsuffixname.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-prefixsuffixname.cpp
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 1} \
-// RUN:  ]}' --
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 0, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 1 \
+// RUN:  }}' --
 
 namespace std {
 struct string {};

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-qualifiermixing.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-qualifiermixing.cpp
index bf980d951307b7..2bfcefcc56fa08 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-qualifiermixing.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-qualifiermixing.cpp
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 1}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' --
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 1, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' --
 
 typedef int MyInt1;
 typedef int MyInt2;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.c b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.c
index 62818b932d343b..7231361a2e080e 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.c
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 1}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' -- -Wno-strict-prototypes -x c
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 0, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 1, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' -- -Wno-strict-prototypes -x c
 
 int myprint();
 int add(int X, int Y);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.cpp
index c202d204230042..9ede3dc5f8b8bd 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.cpp
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 1}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' --
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 0, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 1, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' --
 
 namespace std {
 template <typename T>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters.c b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters.c
index 462a5130d95f42..b6c9bf4ad0c15d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters.c
@@ -1,13 +1,13 @@
 // RUN: %check_clang_tidy %s bugprone-easily-swappable-parameters %t \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-easily-swappable-parameters.MinimumLength, value: 2}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterNames, value: ""}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes, value: "bool;MyBool;struct U;MAKE_LOGICAL_TYPE(int)"}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.QualifiersMix, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.ModelImplicitConversions, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether, value: 0}, \
-// RUN:     {key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold, value: 0} \
-// RUN:  ]}' -- -Wno-strict-prototypes -x c
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-easily-swappable-parameters.MinimumLength: 2, \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterNames: "", \
+// RUN:     bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes: "bool;MyBool;struct U;MAKE_LOGICAL_TYPE(int)", \
+// RUN:     bugprone-easily-swappable-parameters.QualifiersMix: 0, \
+// RUN:     bugprone-easily-swappable-parameters.ModelImplicitConversions: 0, \
+// RUN:     bugprone-easily-swappable-parameters.SuppressParametersUsedTogether: 0, \
+// RUN:     bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold: 0 \
+// RUN:  }}' -- -Wno-strict-prototypes -x c
 
 #define bool _Bool
 #define true 1

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
index 7099545fce15bb..4a7149e81ce7e5 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
@@ -1,8 +1,8 @@
 // RUN: %check_clang_tidy -std=c++11,c++14 %s bugprone-exception-escape %t -- \
-// RUN:     -config="{CheckOptions: [ \
-// RUN:         {key: bugprone-exception-escape.IgnoredExceptions, value: 'ignored1,ignored2'}, \
-// RUN:         {key: bugprone-exception-escape.FunctionsThatShouldNotThrow, value: 'enabled1,enabled2,enabled3'} \
-// RUN:     ]}" \
+// RUN:     -config="{CheckOptions: { \
+// RUN:         bugprone-exception-escape.IgnoredExceptions: 'ignored1,ignored2', \
+// RUN:         bugprone-exception-escape.FunctionsThatShouldNotThrow: 'enabled1,enabled2,enabled3' \
+// RUN:     }}" \
 // RUN:     -- -fexceptions
 // FIXME: Fix the checker to work in C++17 or later mode.
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-array-subscript-expression.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-array-subscript-expression.cpp
index 17e99ca5c10c57..2881341c878570 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-array-subscript-expression.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-array-subscript-expression.cpp
@@ -2,13 +2,13 @@
 // RUN: %check_clang_tidy -check-suffixes=ALL,CXX %s bugprone-implicit-widening-of-multiplication-result %t -- -- -target x86_64-unknown-unknown -x c++
 
 // RUN: %check_clang_tidy -check-suffixes=ALL,C -std=c99 %s bugprone-implicit-widening-of-multiplication-result %t -- \
-// RUN:     -config='{CheckOptions: [ \
-// RUN:         {key: bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources, value: false} \
-// RUN:     ]}' -- -target x86_64-unknown-unknown -x c
+// RUN:     -config='{CheckOptions: { \
+// RUN:         bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources: false \
+// RUN:     }}' -- -target x86_64-unknown-unknown -x c
 // RUN: %check_clang_tidy -check-suffixes=ALL,C %s bugprone-implicit-widening-of-multiplication-result %t -- \
-// RUN:     -config='{CheckOptions: [ \
-// RUN:         {key: bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources, value: false} \
-// RUN:     ]}' -- -target x86_64-unknown-unknown -x c++
+// RUN:     -config='{CheckOptions: { \
+// RUN:         bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources: false \
+// RUN:     }}' -- -target x86_64-unknown-unknown -x c++
 
 char *t0(char *base, int a, int b) {
   return &base[a * b];

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
index 66e0dfe9439799..cf13a7ea9fbd8b 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
@@ -2,13 +2,13 @@
 // RUN: %check_clang_tidy -check-suffixes=ALL,CXX %s bugprone-implicit-widening-of-multiplication-result %t -- -- -target x86_64-unknown-unknown -x c++
 
 // RUN: %check_clang_tidy -check-suffixes=ALL,C -std=c99 %s bugprone-implicit-widening-of-multiplication-result %t -- \
-// RUN:     -config='{CheckOptions: [ \
-// RUN:         {key: bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources, value: false} \
-// RUN:     ]}' -- -target x86_64-unknown-unknown -x c
+// RUN:     -config='{CheckOptions: { \
+// RUN:         bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources: false \
+// RUN:     }}' -- -target x86_64-unknown-unknown -x c
 // RUN: %check_clang_tidy -check-suffixes=ALL,C %s bugprone-implicit-widening-of-multiplication-result %t -- \
-// RUN:     -config='{CheckOptions: [ \
-// RUN:         {key: bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources, value: false} \
-// RUN:     ]}' -- -target x86_64-unknown-unknown -x c++
+// RUN:     -config='{CheckOptions: { \
+// RUN:         bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources: false \
+// RUN:     }}' -- -target x86_64-unknown-unknown -x c++
 
 long t0(int a, int b) {
   return a * b;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
index 5c1d691697bc54..c812885507e8f3 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
@@ -2,13 +2,13 @@
 // RUN: %check_clang_tidy -check-suffixes=ALL,CXX %s bugprone-implicit-widening-of-multiplication-result %t -- -- -target x86_64-unknown-unknown -x c++
 
 // RUN: %check_clang_tidy -check-suffixes=ALL,C -std=c99 %s bugprone-implicit-widening-of-multiplication-result %t -- \
-// RUN:     -config='{CheckOptions: [ \
-// RUN:         {key: bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources, value: false} \
-// RUN:     ]}' -- -target x86_64-unknown-unknown -x c
+// RUN:     -config='{CheckOptions: { \
+// RUN:         bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources: false \
+// RUN:     }}' -- -target x86_64-unknown-unknown -x c
 // RUN: %check_clang_tidy -check-suffixes=ALL,C %s bugprone-implicit-widening-of-multiplication-result %t -- \
-// RUN:     -config='{CheckOptions: [ \
-// RUN:         {key: bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources, value: false} \
-// RUN:     ]}' -- -target x86_64-unknown-unknown -x c++
+// RUN:     -config='{CheckOptions: { \
+// RUN:         bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources: false \
+// RUN:     }}' -- -target x86_64-unknown-unknown -x c++
 
 char *t0(char *base, int a, int b) {
   return base + a * b;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-explicit-only.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-explicit-only.cpp
index 3c2c9083cf90e1..56eba15f2cd0e9 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-explicit-only.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-explicit-only.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s bugprone-misplaced-widening-cast %t -- -config="{CheckOptions: [{key: bugprone-misplaced-widening-cast.CheckImplicitCasts, value: false}]}" --
+// RUN: %check_clang_tidy %s bugprone-misplaced-widening-cast %t -- -config="{CheckOptions: {bugprone-misplaced-widening-cast.CheckImplicitCasts: false}}" --
 
 void func(long arg) {}
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-implicit-enabled.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-implicit-enabled.cpp
index f8a865cca6fc5b..b83b710111477a 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-implicit-enabled.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-implicit-enabled.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s bugprone-misplaced-widening-cast %t -- -config="{CheckOptions: [{key: bugprone-misplaced-widening-cast.CheckImplicitCasts, value: true}]}" --
+// RUN: %check_clang_tidy %s bugprone-misplaced-widening-cast %t -- -config="{CheckOptions: {bugprone-misplaced-widening-cast.CheckImplicitCasts: true}}" --
 
 void func(long arg) {}
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-before-safe.c b/clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-before-safe.c
index 0ee8561ff48dd8..434cfcc0ca9d5d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-before-safe.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-before-safe.c
@@ -1,7 +1,6 @@
 // RUN: %check_clang_tidy %s bugprone-not-null-terminated-result %t -- \
 // RUN: -config="{CheckOptions: \
-// RUN: [{key: bugprone-not-null-terminated-result.WantToUseSafeFunctions, \
-// RUN:   value: true}]}" \
+// RUN: {bugprone-not-null-terminated-result.WantToUseSafeFunction: true}}" \
 // RUN: -- -std=c11 -I %S/Inputs/not-null-terminated-result
 
 #include "not-null-terminated-result-c.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier-invert.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier-invert.cpp
index d6ad01a667387c..62ad8de7d30079 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier-invert.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier-invert.cpp
@@ -1,8 +1,8 @@
 // RUN: %check_clang_tidy %s bugprone-reserved-identifier %t -- \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: bugprone-reserved-identifier.Invert, value: true}, \
-// RUN:     {key: bugprone-reserved-identifier.AllowedIdentifiers, value: "std;reference_wrapper;^c?ref;type;get"}, \
-// RUN:   ]}' -- \
+// RUN:   -config='{CheckOptions: { \
+// RUN:     bugprone-reserved-identifier.Invert: true, \
+// RUN:     bugprone-reserved-identifier.AllowedIdentifiers: "std;reference_wrapper;ref;^c?ref;type;get" \
+// RUN:   }}' -- \
 // RUN:   -I%S/Inputs/reserved-identifier \
 // RUN:   -isystem %S/Inputs/reserved-identifier/system
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-minimal.c b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-minimal.c
index 08fb7a694f8198..7030efd5dc3d99 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-minimal.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-minimal.c
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s bugprone-signal-handler %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: bugprone-signal-handler.AsyncSafeFunctionSet, value: "minimal"}]}' \
+// RUN:  {bugprone-signal-handler.AsyncSafeFunctionSet: "minimal"}}' \
 // RUN: -- -isystem %clang_tidy_headers
 
 #include "signal.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-posix.c b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-posix.c
index 54c5a841543c75..3e9b395a704749 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-posix.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-posix.c
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s bugprone-signal-handler %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: bugprone-signal-handler.AsyncSafeFunctionSet, value: "POSIX"}]}' \
+// RUN:  {bugprone-signal-handler.AsyncSafeFunctionSet: "POSIX"}}' \
 // RUN: -- -isystem %clang_tidy_headers
 
 #include "signal.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-char-misuse-with-option.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-char-misuse-with-option.cpp
index c0372250f2aa1c..9f9d61a56f6c30 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-char-misuse-with-option.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-char-misuse-with-option.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s bugprone-signed-char-misuse %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: bugprone-signed-char-misuse.CharTypdefsToIgnore, value: "sal_Int8;int8_t"}]}' \
+// RUN:  {bugprone-signed-char-misuse.CharTypdefsToIgnore: "sal_Int8;int8_t"}}' \
 // RUN: --
 
 ///////////////////////////////////////////////////////////////////

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
index 86dba31d6061fa..0e6e87170352c4 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s bugprone-sizeof-expression %t -- -config="{CheckOptions: [{key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression, value: true}]}" --
+// RUN: %check_clang_tidy %s bugprone-sizeof-expression %t -- -config="{CheckOptions: {bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression: true}}" --
 
 class C {
   int size() { return sizeof(this); }

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage-strict.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage-strict.cpp
index dd58672007d18e..405dec22eea77c 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage-strict.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage-strict.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s bugprone-suspicious-enum-usage %t -- -config="{CheckOptions: [{key: bugprone-suspicious-enum-usage.StrictMode, value: true}]}" --
+// RUN: %check_clang_tidy %s bugprone-suspicious-enum-usage %t -- -config="{CheckOptions: {bugprone-suspicious-enum-usage.StrictMode: true}}" --
 
 enum A {
   A = 1,

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage.cpp
index 7a910cc43b99b3..257c82e88f9a3d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-enum-usage.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s bugprone-suspicious-enum-usage %t -- -config="{CheckOptions: [{key: bugprone-suspicious-enum-usage.StrictMode, value: false}]}" --
+// RUN: %check_clang_tidy %s bugprone-suspicious-enum-usage %t -- -config="{CheckOptions: {bugprone-suspicious-enum-usage.StrictMode: false}}" --
 
 enum Empty {
 };

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.c b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.c
index d4c36aa5d62f58..99068476d6a78e 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.c
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s bugprone-suspicious-string-compare %t -- \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: bugprone-suspicious-string-compare.WarnOnImplicitComparison, value: true}, \
-// RUN:   {key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison, value: true}]}' \
+// RUN:  {bugprone-suspicious-string-compare.WarnOnImplicitComparison: true, \
+// RUN:   bugprone-suspicious-string-compare.WarnOnLogicalNotComparison: true}}' \
 // RUN: -- -std=c99
 
 static const char A[] = "abc";

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
index 923449d5456b14..7e1dd6b444393f 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s bugprone-suspicious-string-compare %t -- \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: bugprone-suspicious-string-compare.WarnOnImplicitComparison, value: true}, \
-// RUN:   {key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison, value: true}]}' \
+// RUN:  {bugprone-suspicious-string-compare.WarnOnImplicitComparison: true, \
+// RUN:   bugprone-suspicious-string-compare.WarnOnLogicalNotComparison: true}}' \
 // RUN: --
 
 typedef __SIZE_TYPE__ size;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp
index 7821c4144ccfe7..3229deb93bada8 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp
@@ -1,7 +1,6 @@
 // RUN: %check_clang_tidy %s bugprone-too-small-loop-variable %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit, \
-// RUN:               value: 1024}]}" \
+// RUN:             {bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit: 1024}}" \
 // RUN:   -- --target=x86_64-linux
 
 long size() { return 294967296l; }

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment-warn-only-if-this-has-suspicious-field.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment-warn-only-if-this-has-suspicious-field.cpp
index 494cb7cf9cf055..e53676f2961a79 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment-warn-only-if-this-has-suspicious-field.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment-warn-only-if-this-has-suspicious-field.cpp
@@ -1,7 +1,6 @@
 // RUN: %check_clang_tidy %s bugprone-unhandled-self-assignment %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField, \
-// RUN:               value: false}]}"
+// RUN:             {bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField: false}}"
 
 // Classes with pointer field are still caught.
 class PtrField {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-custom.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-custom.cpp
index 53ace6358a0cbd..fb5f77031a3276 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-custom.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-custom.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s bugprone-unused-return-value %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: bugprone-unused-return-value.CheckedFunctions, \
-// RUN:    value: "::fun;::ns::Outer::Inner::memFun;::ns::Type::staticFun;::ns::ClassTemplate::memFun;::ns::ClassTemplate::staticFun"}]}' \
+// RUN:  {bugprone-unused-return-value.CheckedFunctions: \
+// RUN:    "::fun;::ns::Outer::Inner::memFun;::ns::Type::staticFun;::ns::ClassTemplate::memFun;::ns::ClassTemplate::staticFun"}}' \
 // RUN: --
 
 namespace std {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cert/msc32-c.c b/clang-tools-extra/test/clang-tidy/checkers/cert/msc32-c.c
index 755326e7e79316..0a1d79b4d916bb 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cert/msc32-c.c
+++ b/clang-tools-extra/test/clang-tidy/checkers/cert/msc32-c.c
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s cert-msc32-c %t -- -config="{CheckOptions: [{key: cert-msc32-c.DisallowedSeedTypes, value: 'some_type,time_t'}]}" -- -std=c99
+// RUN: %check_clang_tidy %s cert-msc32-c %t -- -config="{CheckOptions: {cert-msc32-c.DisallowedSeedTypes: 'some_type,time_t'}}" -- -std=c99
 
 void srand(int seed);
 typedef int time_t;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cert/msc51-cpp.cpp b/clang-tools-extra/test/clang-tidy/checkers/cert/msc51-cpp.cpp
index 4aec74b1ed7405..637ba58688abef 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cert/msc51-cpp.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cert/msc51-cpp.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s cert-msc51-cpp %t -- \
-// RUN:     -config="{CheckOptions: [{key: cert-msc51-cpp.DisallowedSeedTypes, value: 'some_type,time_t'}]}"
+// RUN:     -config="{CheckOptions: {cert-msc51-cpp.DisallowedSeedTypes: 'some_type,time_t'}}"
 
 namespace std {
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cert/oop57-cpp.cpp b/clang-tools-extra/test/clang-tidy/checkers/cert/oop57-cpp.cpp
index 880c5c3a1c9fe6..e34315fc98d25b 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cert/oop57-cpp.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cert/oop57-cpp.cpp
@@ -1,8 +1,8 @@
 // RUN: %check_clang_tidy %s cert-oop57-cpp %t -- \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: cert-oop57-cpp.MemSetNames, value: mymemset}, \
-// RUN:  {key: cert-oop57-cpp.MemCpyNames, value: mymemcpy}, \
-// RUN:  {key: cert-oop57-cpp.MemCmpNames, value: mymemcmp}]}' \
+// RUN:  {cert-oop57-cpp.MemSetNames: mymemset, \
+// RUN:  cert-oop57-cpp.MemCpyNames: mymemcpy, \
+// RUN:  cert-oop57-cpp.MemCmpNames: mymemcmp}}' \
 // RUN: --
 
 void mymemset(void *, unsigned char, decltype(sizeof(int)));

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-glibc.cpp b/clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-glibc.cpp
index dd0dab94e9bd62..8b137de005a479 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-glibc.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-glibc.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s concurrency-mt-unsafe %t -- -config='{CheckOptions: [{key: "concurrency-mt-unsafe.FunctionSet", value: "glibc"}]}'
+// RUN: %check_clang_tidy %s concurrency-mt-unsafe %t -- -config='{CheckOptions: {concurrency-mt-unsafe.FunctionSet: "glibc"}}'
 
 extern unsigned int sleep (unsigned int __seconds);
 extern int *gmtime (const int *__timer);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-posix.cpp b/clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-posix.cpp
index c4cb821d32a32a..8f9c7c361fa1c0 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-posix.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-posix.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s concurrency-mt-unsafe %t -- -config='{CheckOptions: [{key: "concurrency-mt-unsafe.FunctionSet", value: "posix"}]}'
+// RUN: %check_clang_tidy %s concurrency-mt-unsafe %t -- -config='{CheckOptions: {concurrency-mt-unsafe.FunctionSet: "posix"}}'
 
 extern unsigned int sleep (unsigned int __seconds);
 extern int *gmtime (const int *__timer);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-caps-only.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-caps-only.cpp
index 7b9c785b0bf64c..5aaa3a278b4362 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-caps-only.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-caps-only.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-macro-usage %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: cppcoreguidelines-macro-usage.CheckCapsOnly, value: true}]}' --
+// RUN:  {cppcoreguidelines-macro-usage.CheckCapsOnly: true}}' --
 
 #ifndef INCLUDE_GUARD
 #define INCLUDE_GUARD

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-command-line-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-command-line-macros.cpp
index 339b5fbd71845b..3b217840642688 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-command-line-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-command-line-macros.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy -check-suffixes=NORMAL %s cppcoreguidelines-macro-usage %t -- -- -D_ZZZ_IM_A_MACRO
-// RUN: %check_clang_tidy -check-suffixes=NORMAL %s cppcoreguidelines-macro-usage %t -- -config='{CheckOptions: [{key: cppcoreguidelines-macro-usage.IgnoreCommandLineMacros, value: true}]}' -- -D_ZZZ_IM_A_MACRO
-// RUN: %check_clang_tidy -check-suffixes=NORMAL,CL %s cppcoreguidelines-macro-usage %t -- -config='{CheckOptions: [{key: cppcoreguidelines-macro-usage.IgnoreCommandLineMacros, value: false}]}' -- -D_ZZZ_IM_A_MACRO
+// RUN: %check_clang_tidy -check-suffixes=NORMAL %s cppcoreguidelines-macro-usage %t -- -config='{CheckOptions: {cppcoreguidelines-macro-usage.IgnoreCommandLineMacros: true}}' -- -D_ZZZ_IM_A_MACRO
+// RUN: %check_clang_tidy -check-suffixes=NORMAL,CL %s cppcoreguidelines-macro-usage %t -- -config='{CheckOptions: {cppcoreguidelines-macro-usage.IgnoreCommandLineMacros: false}}' -- -D_ZZZ_IM_A_MACRO
 
 // CHECK-MESSAGES-CL: warning: macro '_ZZZ_IM_A_MACRO' used to declare a constant; consider using a 'constexpr' constant
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-custom.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-custom.cpp
index 5e70aa00d40e7d..4efc89dd0fd808 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-custom.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage-custom.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-macro-usage %t \
 // RUN: -config="{CheckOptions: \
-// RUN:  [{key: cppcoreguidelines-macro-usage.AllowedRegexp, value: 'DEBUG_*|TEST_*'}]}" --
+// RUN:  {cppcoreguidelines-macro-usage.AllowedRegexp: 'DEBUG_*|TEST_*'}}" --
 
 #ifndef INCLUDE_GUARD
 #define INCLUDE_GUARD

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
index 89ef6c01396a68..fb5c7e36eeb0df 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
@@ -1,13 +1,10 @@
 // RUN: %check_clang_tidy -check-suffix=DEFAULT %s \
-// RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [ \
-// RUN: ]}'
+// RUN: cppcoreguidelines-narrowing-conversions %t -- 
 
 // RUN: %check_clang_tidy -check-suffix=DISABLED %s \
 // RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [ \
-// RUN:   {key: cppcoreguidelines-narrowing-conversions.WarnOnEquivalentBitWidth, value: 0} \
-// RUN: ]}'
+// RUN: -config='{CheckOptions: { \
+// RUN:   cppcoreguidelines-narrowing-conversions.WarnOnEquivalentBitWidth: 0}}'
 
 void narrowing_equivalent_bitwidth() {
   int i;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
index 34da420fd0cc53..ab9aabf44ff68c 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
@@ -1,13 +1,11 @@
 // RUN: %check_clang_tidy -check-suffix=DEFAULT %s \
-// RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [ \
-// RUN: ]}'
+// RUN: cppcoreguidelines-narrowing-conversions %t --
 
 // RUN: %check_clang_tidy -check-suffix=IGNORED %s \
 // RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [ \
-// RUN:   {key: cppcoreguidelines-narrowing-conversions.IgnoreConversionFromTypes, value: "global_size_t;nested_size_type"} \
-// RUN: ]}'
+// RUN: -config='{CheckOptions: { \
+// RUN:   cppcoreguidelines-narrowing-conversions.IgnoreConversionFromTypes: "global_size_t;nested_size_type" \
+// RUN: }}'
 
 // We use global_size_t instead of 'size_t' because windows predefines size_t.
 typedef long long global_size_t;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
index 863df40ee70dad..cb19ed78cce8a7 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
@@ -1,13 +1,11 @@
 // RUN: %check_clang_tidy -check-suffix=DEFAULT %s \
-// RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [ \
-// RUN: ]}'
+// RUN: cppcoreguidelines-narrowing-conversions %t --
 
 // RUN: %check_clang_tidy -check-suffix=WARN %s \
 // RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [ \
-// RUN:   {key: cppcoreguidelines-narrowing-conversions.WarnWithinTemplateInstantiation, value: 1} \
-// RUN: ]}'
+// RUN: -config='{CheckOptions: { \
+// RUN:   cppcoreguidelines-narrowing-conversions.WarnWithinTemplateInstantiation: 1 \
+// RUN: }}'
 
 template <typename OrigType>
 void assign_in_template(OrigType jj) {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
index a3944bcc56da9a..f58de65f042328 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
@@ -1,10 +1,10 @@
 // RUN: %check_clang_tidy -check-suffix=DEFAULT %s \
 // RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [{key: cppcoreguidelines-narrowing-conversions.WarnOnIntegerNarrowingConversion, value: true}]}'
+// RUN: -config='{CheckOptions: {cppcoreguidelines-narrowing-conversions.WarnOnIntegerNarrowingConversion: true}}'
 
 // RUN: %check_clang_tidy -check-suffix=DISABLED %s \
 // RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [{key: cppcoreguidelines-narrowing-conversions.WarnOnIntegerNarrowingConversion, value: false}]}'
+// RUN: -config='{CheckOptions: {cppcoreguidelines-narrowing-conversions.WarnOnIntegerNarrowingConversion: false}}'
 
 void foo(unsigned long long value) {
   int a = value;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
index e7f65f5c9982c4..35ca61b6a9a8c5 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
@@ -1,10 +1,10 @@
 // RUN: %check_clang_tidy -check-suffix=DEFAULT %s \
 // RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [{key: cppcoreguidelines-narrowing-conversions.WarnOnIntegerToFloatingPointNarrowingConversion, value: true}]}'
+// RUN: -config='{CheckOptions: {cppcoreguidelines-narrowing-conversions.WarnOnIntegerToFloatingPointNarrowingConversion: true}}'
 
 // RUN: %check_clang_tidy -check-suffix=DISABLED %s \
 // RUN: cppcoreguidelines-narrowing-conversions %t -- \
-// RUN: -config='{CheckOptions: [{key: cppcoreguidelines-narrowing-conversions.WarnOnIntegerToFloatingPointNarrowingConversion, value: false}]}'
+// RUN: -config='{CheckOptions: {cppcoreguidelines-narrowing-conversions.WarnOnIntegerToFloatingPointNarrowingConversion: false}}'
 
 void foo(unsigned long long value) {
   double a = value;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
index 605fcf025f4606..eb1a5a67ee1183 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
@@ -1,7 +1,6 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-narrowing-conversions %t \
-// RUN: -config="{CheckOptions: [ \
-// RUN:   {key: "cppcoreguidelines-narrowing-conversions.PedanticMode", value: true} \
-// RUN: ]}" \
+// RUN: -config="{CheckOptions: { \
+// RUN:   cppcoreguidelines-narrowing-conversions.PedanticMode: true}}" \
 // RUN: -- -target x86_64-unknown-linux -fsigned-char
 
 namespace floats {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
index db98713b36e7f3..29b38e74e1a22d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
@@ -1,7 +1,6 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-narrowing-conversions %t \
-// RUN: -config="{CheckOptions: [ \
-// RUN:   {key: "cppcoreguidelines-narrowing-conversions.WarnOnFloatingPointNarrowingConversion", value: false}, \
-// RUN: ]}" \
+// RUN: -config="{CheckOptions: { \
+// RUN:   cppcoreguidelines-narrowing-conversions.WarnOnFloatingPointNarrowingConversion: false}}" \
 // RUN: -- -target x86_64-unknown-linux -fsigned-char
 
 float ceil(float);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-custom.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-custom.cpp
index 7ffdfccd1d3d8d..d459478049d74b 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-custom.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-custom.cpp
@@ -1,8 +1,8 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-no-malloc %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: cppcoreguidelines-no-malloc.Allocations, value: "::malloc;::align_malloc;::calloc"},\
-// RUN:   {key: cppcoreguidelines-no-malloc.Reallocations, value: "::realloc;::align_realloc"},\
-// RUN:   {key: cppcoreguidelines-no-malloc.Deallocations, value: "::free;::align_free"}]}' \
+// RUN:  {cppcoreguidelines-no-malloc.Allocations: "::malloc;::align_malloc;::calloc",\
+// RUN:   cppcoreguidelines-no-malloc.Reallocations: "::realloc;::align_realloc",\
+// RUN:   cppcoreguidelines-no-malloc.Deallocations: "::free;::align_free"}}' \
 // RUN: --
 
 using size_t = __SIZE_TYPE__;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-no-functions.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-no-functions.cpp
index 8b4d46480c52d3..0e530ac2df18c7 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-no-functions.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-malloc-no-functions.cpp
@@ -1,8 +1,8 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-no-malloc %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: cppcoreguidelines-no-malloc.Allocations, value: "::malloc"},\
-// RUN:   {key: cppcoreguidelines-no-malloc.Reallocations, value: ""},\
-// RUN:   {key: cppcoreguidelines-no-malloc.Deallocations, value: ""}]}' \
+// RUN:  {cppcoreguidelines-no-malloc.Allocations: "::malloc",\
+// RUN:   cppcoreguidelines-no-malloc.Reallocations: "",\
+// RUN:   cppcoreguidelines-no-malloc.Deallocations: ""}}' \
 // RUN: --
 
 // Just ensure, the check will not crash, when no functions shall be checked.

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory-legacy-functions.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory-legacy-functions.cpp
index d5bfcbc31c907d..3becd5c3125688 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory-legacy-functions.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory-legacy-functions.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-owning-memory %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: cppcoreguidelines-owning-memory.LegacyResourceProducers, value: "::malloc;::aligned_alloc;::realloc;::calloc;::fopen;::freopen;::tmpfile"}, \
-// RUN:   {key: cppcoreguidelines-owning-memory.LegacyResourceConsumers, value: "::free;::realloc;::freopen;::fclose"}]}' \
+// RUN:  {cppcoreguidelines-owning-memory.LegacyResourceProducers: "::malloc;::aligned_alloc;::realloc;::calloc;::fopen;::freopen;::tmpfile", \
+// RUN:   cppcoreguidelines-owning-memory.LegacyResourceConsumers: "::free;::realloc;::freopen;::fclose"}}' \
 // RUN: -- -nostdlib -nostdinc++
 
 namespace gsl {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init-assignment.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init-assignment.cpp
index 17600b82fb5928..70ef19181f7adc 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init-assignment.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer-modernize-use-default-member-init-assignment.cpp
@@ -1,8 +1,7 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-prefer-member-initializer,modernize-use-default-member-init %t -- \
-// RUN: -config="{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: true}]}"
+// RUN: -config="{CheckOptions: {modernize-use-default-member-init.UseAssignment: true}}"
 // RUN: %check_clang_tidy %s cppcoreguidelines-prefer-member-initializer,modernize-use-default-member-init %t -- \
-// RUN: -config="{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: false}, \
-// RUN:                          {key: cppcoreguidelines-prefer-member-initializer.UseAssignment, value: true}]}"
+// RUN: -config="{CheckOptions: {modernize-use-default-member-init.UseAssignment: false, cppcoreguidelines-prefer-member-initializer.UseAssignment: true}}"
 
 class Simple1 {
   int n;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index-gslheader.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index-gslheader.cpp
index 87550cbe843359..6ca322929ad140 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index-gslheader.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index-gslheader.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-pro-bounds-constant-array-index %t -- \
-// RUN:     -config='{CheckOptions: [{key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader, value: "dir1/gslheader.h"}]}'
+// RUN:     -config='{CheckOptions: {cppcoreguidelines-pro-bounds-constant-array-index.GslHeader: "dir1/gslheader.h"}}'
 // CHECK-FIXES: #include "dir1/gslheader.h"
 
 typedef __SIZE_TYPE__ size_t;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
index 6adc140bf25b48..f1f64543c112af 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-member-init %t -- -config="{CheckOptions: [{key: "cppcoreguidelines-pro-type-member-init.UseAssignment", value: true}]}" -- -fsigned-char
+// RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-member-init %t -- -config="{CheckOptions: {cppcoreguidelines-pro-type-member-init.UseAssignment: true}}" -- -fsigned-char
 
 struct T {
   int i;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.ignorearrays.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.ignorearrays.cpp
index 1b526089b2fbfe..01859b3ad98f4b 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.ignorearrays.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.ignorearrays.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s \
 // RUN: cppcoreguidelines-pro-type-member-init %t \
 // RUN: -config="{CheckOptions: \
-// RUN: [{key: cppcoreguidelines-pro-type-member-init.IgnoreArrays, value: true} ]}"
+// RUN: {cppcoreguidelines-pro-type-member-init.IgnoreArrays: true}}"
 
 typedef int TypedefArray[4];
 using UsingArray = int[4];

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-allow-missing-move-when-copy-is-deleted.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-allow-missing-move-when-copy-is-deleted.cpp
index 0e5d29b85e3a13..34d87ddce24578 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-allow-missing-move-when-copy-is-deleted.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-allow-missing-move-when-copy-is-deleted.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s cppcoreguidelines-special-member-functions %t -- -config="{CheckOptions: [{key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctionsWhenCopyIsDeleted, value: true}]}" --
+// RUN: %check_clang_tidy %s cppcoreguidelines-special-member-functions %t -- -config="{CheckOptions: {cppcoreguidelines-special-member-functions.AllowMissingMoveFunctionsWhenCopyIsDeleted: true}}" --
 
 class DefinesEverything {
   DefinesEverything(const DefinesEverything &);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
index 4bdaff5a7cb266..0c17f57968a990 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s cppcoreguidelines-special-member-functions %t -- -config="{CheckOptions: [{key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions, value: true}, {key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor, value: true}]}" --
+// RUN: %check_clang_tidy %s cppcoreguidelines-special-member-functions %t -- -config="{CheckOptions: {cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions: true, cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor: true}}" --
 
 // Don't warn on destructors without definitions, they might be defaulted in another TU.
 class DeclaresDestructor {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp b/clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
index e5cdb3ec048e2e..30f9b3cf1e90c2 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
@@ -1,9 +1,9 @@
 // RUN: %check_clang_tidy %s google-runtime-int %t -- \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: google-runtime-int.UnsignedTypePrefix, value: "std::uint"}, \
-// RUN:     {key: google-runtime-int.SignedTypePrefix, value: "std::int"}, \
-// RUN:     {key: google-runtime-int.TypeSuffix, value: "_t"}, \
-// RUN:   ]}'
+// RUN:   -config='{CheckOptions: { \
+// RUN:     google-runtime-int.UnsignedTypePrefix: "std::uint", \
+// RUN:     google-runtime-int.SignedTypePrefix: "std::int", \
+// RUN:     google-runtime-int.TypeSuffix: "_t", \
+// RUN:   }}'
 
 long a();
 // CHECK-MESSAGES: [[@LINE-1]]:1: warning: consider replacing 'long' with 'std::int{{..}}_t'

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/hicpp/multiway-paths-covered-else.cpp b/clang-tools-extra/test/clang-tidy/checkers/hicpp/multiway-paths-covered-else.cpp
index 107db52c407acb..5041b4e97d0c6d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/hicpp/multiway-paths-covered-else.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/hicpp/multiway-paths-covered-else.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s hicpp-multiway-paths-covered %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: hicpp-multiway-paths-covered.WarnOnMissingElse, value: true}]}'\
+// RUN:  {hicpp-multiway-paths-covered.WarnOnMissingElse: true}}'\
 // RUN: --
 
 enum OS { Mac,

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp b/clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
index c9631579565891..edbb56f90cb0e1 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s hicpp-signed-bitwise %t -- \
-// RUN:   -config="{CheckOptions: [{key: hicpp-signed-bitwise.IgnorePositiveIntegerLiterals, value: true }]}" \
+// RUN:   -config="{CheckOptions: {hicpp-signed-bitwise.IgnorePositiveIntegerLiterals: true}}" \
 // RUN: -- -std=c++11
 
 void examples() {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp b/clang-tools-extra/test/clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
index fc1066be670824..3db8bf8266c9b3 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
@@ -1,9 +1,9 @@
 // RUN: %check_clang_tidy -check-suffixes=PUBLIC,NONPRIVATE,PROTECTED %s misc-non-private-member-variables-in-classes %t
-// RUN: %check_clang_tidy -check-suffixes=PUBLIC,NONPRIVATE,PROTECTED %s misc-non-private-member-variables-in-classes %t -- -config='{CheckOptions: [{key: misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables, value: false}, {key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic, value: false}]}' --
-// RUN: %check_clang_tidy -check-suffixes=PUBLIC,PROTECTED %s misc-non-private-member-variables-in-classes %t -- -config='{CheckOptions: [{key: misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables, value: false}, {key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic, value: true}]}' --
+// RUN: %check_clang_tidy -check-suffixes=PUBLIC,NONPRIVATE,PROTECTED %s misc-non-private-member-variables-in-classes %t -- -config='{CheckOptions: {misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables: false, misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic: false}}' --
+// RUN: %check_clang_tidy -check-suffixes=PUBLIC,PROTECTED %s misc-non-private-member-variables-in-classes %t -- -config='{CheckOptions: {misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables: false, misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic: true}}' --
 // RUN: %check_clang_tidy -check-suffixes=PUBLIC,PROTECTED %s cppcoreguidelines-non-private-member-variables-in-classes %t -- --
-// RUN: %check_clang_tidy -check-suffixes=PROTECTED %s misc-non-private-member-variables-in-classes %t -- -config='{CheckOptions: [{key: misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables, value: true}, {key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic, value: false}]}' --
-// RUN: %check_clang_tidy -check-suffixes=PROTECTED %s misc-non-private-member-variables-in-classes %t -- -config='{CheckOptions: [{key: misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables, value: true}, {key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic, value: true}]}' --
+// RUN: %check_clang_tidy -check-suffixes=PROTECTED %s misc-non-private-member-variables-in-classes %t -- -config='{CheckOptions: {misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables: true, misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic: false}}' --
+// RUN: %check_clang_tidy -check-suffixes=PROTECTED %s misc-non-private-member-variables-in-classes %t -- -config='{CheckOptions: {misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables: true, misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic: true}}' --
 
 //----------------------------------------------------------------------------//
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp b/clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
index 0b4fc8f4469542..f8385c1a17e7bb 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s misc-unused-parameters %t -- \
-// RUN:   -config="{CheckOptions: [{key: StrictMode, value: true}]}" --
+// RUN:   -config="{CheckOptions: {StrictMode: true}}" --
 
 // Warn on empty function bodies in StrictMode.
 namespace strict_mode {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind-permissive-parameter-list.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind-permissive-parameter-list.cpp
index d08159074e4206..379a93bc29f8f9 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind-permissive-parameter-list.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind-permissive-parameter-list.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy -std=c++14-or-later %s modernize-avoid-bind %t -- \
-// RUN:   -config="{CheckOptions: [ \
-// RUN:     {key: modernize-avoid-bind.PermissiveParameterList, value: true}]}" --
+// RUN:   -config="{CheckOptions: { \
+// RUN:     modernize-avoid-bind.PermissiveParameterList: true}}" --
 
 namespace std {
 inline namespace impl {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/deprecated-headers-extern-c.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/deprecated-headers-extern-c.cpp
index 80edf384c6bc8b..72438274d6b9ab 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/deprecated-headers-extern-c.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/deprecated-headers-extern-c.cpp
@@ -14,7 +14,7 @@
 
 // RUN: %check_clang_tidy -std=c++11 %s modernize-deprecated-headers %t \
 // RUN:   -check-suffixes=DEFAULT,CHECK-HEADER-FILE \
-// RUN:   -config="{CheckOptions: [{key: modernize-deprecated-headers.CheckHeaderFile, value: 'true'}]}" \
+// RUN:   -config="{CheckOptions: {modernize-deprecated-headers.CheckHeaderFile: 'true'}}" \
 // RUN:   --header-filter='.*' --system-headers \
 // RUN:   -- -I %t/usr -isystem %t/sys -isystem %S/Inputs/deprecated-headers
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
index 341287ed18194e..71ea97e21f950e 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-loop-convert %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'camelBack'}]}" \
+// RUN:   -config="{CheckOptions: {modernize-loop-convert.NamingStyle: 'camelBack'}}" \
 // RUN:   -- -I %S/Inputs/loop-convert
 
 #include "structures.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
index 883b4d73b1aec1..a8d6559368bae1 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-loop-convert %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'lower_case'}]}" \
+// RUN:   -config="{CheckOptions: {modernize-loop-convert.NamingStyle: 'lower_case'}}" \
 // RUN:   -- -I %S/Inputs/loop-convert
 
 #include "structures.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-reverse.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-reverse.cpp
index 15f35edbd9b35b..403f23c58b06f5 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-reverse.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-reverse.cpp
@@ -1,31 +1,31 @@
 // RUN: %check_clang_tidy -std=c++20 -check-suffixes=,RANGES %s modernize-loop-convert %t
 
 // RUN: %check_clang_tidy -check-suffixes=,CUSTOM,CUSTOM-NO-SYS %s modernize-loop-convert %t -- \
-// RUN:   -config="{CheckOptions: [ \
-// RUN:   {key: modernize-loop-convert.MakeReverseRangeFunction, value: 'llvm::reverse'}, \
-// RUN:   {key: modernize-loop-convert.MakeReverseRangeHeader, value: 'llvm/ADT/STLExtras.h'}]}"
+// RUN:   -config="{CheckOptions: { \
+// RUN:   modernize-loop-convert.MakeReverseRangeFunction: 'llvm::reverse', \
+// RUN:   modernize-loop-convert.MakeReverseRangeHeader: 'llvm/ADT/STLExtras.h'}}"
 
 // RUN: %check_clang_tidy -check-suffixes=,CUSTOM,CUSTOM-SYS %s modernize-loop-convert %t -- \
-// RUN:   -config="{CheckOptions: [ \
-// RUN:   {key: modernize-loop-convert.MakeReverseRangeFunction, value: 'llvm::reverse'}, \
-// RUN:   {key: modernize-loop-convert.MakeReverseRangeHeader, value: '<llvm/ADT/STLExtras.h>'}]}"
+// RUN:   -config="{CheckOptions: { \
+// RUN:   modernize-loop-convert.MakeReverseRangeFunction: 'llvm::reverse', \
+// RUN:   modernize-loop-convert.MakeReverseRangeHeader: '<llvm/ADT/STLExtras.h>'}}"
 
 // RUN: %check_clang_tidy -check-suffixes=,CUSTOM,CUSTOM-NO-HEADER %s modernize-loop-convert %t -- \
-// RUN:   -config="{CheckOptions: [ \
-// RUN:   {key: modernize-loop-convert.MakeReverseRangeFunction, value: 'llvm::reverse'}]}"
+// RUN:   -config="{CheckOptions: { \
+// RUN:   modernize-loop-convert.MakeReverseRangeFunction: 'llvm::reverse'}}"
 
 // Ensure the check doesn't transform reverse loops when not in c++20 mode or
 // when UseCxx20ReverseRanges has been disabled
 // RUN: clang-tidy %s -checks=-*,modernize-loop-convert -- -std=c++17 | count 0
 
 // RUN: clang-tidy %s -checks=-*,modernize-loop-convert -config="{CheckOptions: \
-// RUN:     [{key: modernize-loop-convert.UseCxx20ReverseRanges, value: 'false'}] \
+// RUN:     {modernize-loop-convert.UseCxx20ReverseRanges: 'false'} \
 // RUN:     }" -- -std=c++20 | count 0
 
 // Ensure we get a warning if we supply the header argument without the
 // function argument.
-// RUN: clang-tidy %s -checks=-*,modernize-loop-convert -config="{CheckOptions: [ \
-// RUN:   {key: modernize-loop-convert.MakeReverseRangeHeader, value: 'llvm/ADT/STLExtras.h'}]}" \
+// RUN: clang-tidy %s -checks=-*,modernize-loop-convert -config="{CheckOptions: { \
+// RUN:   modernize-loop-convert.MakeReverseRangeHeader: 'llvm/ADT/STLExtras.h'}}" \
 // RUN: -- -std=c++17 2>&1 \
 // RUN:   | FileCheck %s -check-prefix=CHECK-HEADER-NO-FUNC \
 // RUN:       -implicit-check-not="{{warning|error}}:"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
index f85e20c5720922..cf5b25afb6d3f1 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-loop-convert %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'UPPER_CASE'}]}" \
+// RUN:   -config="{CheckOptions: {modernize-loop-convert.NamingStyle: 'UPPER_CASE'}}" \
 // RUN:   -- -I %S/Inputs/loop-convert
 
 #include "structures.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared-header.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared-header.cpp
index ab090be0ec9cfe..0e95d070ae55ed 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared-header.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared-header.cpp
@@ -1,10 +1,8 @@
 // RUN: %check_clang_tidy %s modernize-make-shared %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:     [{key: modernize-make-shared.MakeSmartPtrFunction, \
-// RUN:       value: 'my::MakeShared'}, \
-// RUN:      {key: modernize-make-shared.MakeSmartPtrFunctionHeader, \
-// RUN:       value: 'make_shared_util.h'} \
-// RUN:     ]}" \
+// RUN:     {modernize-make-shared.MakeSmartPtrFunction: 'my::MakeShared', \
+// RUN:      modernize-make-shared.MakeSmartPtrFunctionHeader: 'make_shared_util.h' \
+// RUN:     }}" \
 // RUN:   -- -I %S/Inputs/smart-ptr
 
 #include "shared_ptr.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-default-init.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-default-init.cpp
index 5441b3843bb9cb..7b96d014c4ed35 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-default-init.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-default-init.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy -std=c++14-or-later %s modernize-make-unique %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: modernize-make-unique.IgnoreDefaultInitialization, \
-// RUN:               value: 'false'}] \
+// RUN:             {modernize-make-unique.IgnoreDefaultInitialization: \
+// RUN:              'false'}} \
 // RUN:             }" \
 // RUN:   -- -I %S/Inputs/smart-ptr
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-header.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-header.cpp
index 5cbd74aec84069..5ffd9483a146ac 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-header.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-header.cpp
@@ -1,10 +1,8 @@
 // RUN: %check_clang_tidy %s modernize-make-unique %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:     [{key: modernize-make-unique.MakeSmartPtrFunction, \
-// RUN:       value: 'my::MakeUnique'}, \
-// RUN:      {key: modernize-make-unique.MakeSmartPtrFunctionHeader, \
-// RUN:       value: 'make_unique_util.h'} \
-// RUN:     ]}" \
+// RUN:     {modernize-make-unique.MakeSmartPtrFunction: 'my::MakeUnique', \
+// RUN:      modernize-make-unique.MakeSmartPtrFunctionHeader: 'make_unique_util.h' \
+// RUN:     }}" \
 // RUN:   -- -I %S/Inputs/smart-ptr
 
 #include "unique_ptr.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-macros.cpp
index 6a8006dcb84a37..c010d5bae1ea35 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-macros.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy -std=c++14-or-later %s modernize-make-unique %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-make-unique.IgnoreMacros, value: false}]}" \
+// RUN:   -config="{CheckOptions: {modernize-make-unique.IgnoreMacros: false}}" \
 // RUN:   -- -I %S/Inputs/smart-ptr
 
 #include "unique_ptr.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-delimiter.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-delimiter.cpp
index 89dc1eb72b1902..557c99a0381826 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-delimiter.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-delimiter.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s modernize-raw-string-literal %t -- -config='{CheckOptions: [{key: "modernize-raw-string-literal.DelimiterStem", value: "str"}, {key: modernize-raw-string-literal.ReplaceShorterLiterals, value: true}]}'
+// RUN: %check_clang_tidy %s modernize-raw-string-literal %t -- -config='{CheckOptions: {modernize-raw-string-literal.DelimiterStem: "str", modernize-raw-string-literal.ReplaceShorterLiterals: true}}'
 
 char const *const ContainsSentinel{"who\\ops)\""};
 // CHECK-MESSAGES: :[[@LINE-1]]:36: warning: {{.*}} can be written as a raw string literal

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
index c31393020edea8..ad5d450036f2fd 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s modernize-raw-string-literal %t -- -config="{CheckOptions: [{key: modernize-raw-string-literal.ReplaceShorterLiterals, value: true}]}"
+// RUN: %check_clang_tidy %s modernize-raw-string-literal %t -- -config="{CheckOptions: {modernize-raw-string-literal.ReplaceShorterLiterals: true}}"
 
 char const *const BackSlash("goink\\frob");
 // CHECK-MESSAGES: :[[@LINE-1]]:29: warning: escaped string literal can be written as a raw string literal [modernize-raw-string-literal]

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp
index ac9a289129f655..45893c6a15d263 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp
@@ -3,25 +3,25 @@
 
 // RUN: %check_clang_tidy -format-style=LLVM -check-suffix=DIFFERENT-NAME %s \
 // RUN:  modernize-replace-disallow-copy-and-assign-macro %t \
-// RUN:  -config="{CheckOptions: [ \
-// RUN:   {key: modernize-replace-disallow-copy-and-assign-macro.MacroName, \
-// RUN:    value: MY_MACRO_NAME}]}"
+// RUN:  -config="{CheckOptions: { \
+// RUN:   modernize-replace-disallow-copy-and-assign-macro.MacroName: \
+// RUN:     MY_MACRO_NAME}}"
 
 // RUN: %check_clang_tidy -format-style=LLVM -check-suffix=FINALIZE %s \
 // RUN:  modernize-replace-disallow-copy-and-assign-macro %t \
-// RUN:  -config="{CheckOptions: [ \
-// RUN:   {key: modernize-replace-disallow-copy-and-assign-macro.MacroName, \
-// RUN:    value: DISALLOW_COPY_AND_ASSIGN_FINALIZE}]}"
+// RUN:  -config="{CheckOptions: { \
+// RUN:   modernize-replace-disallow-copy-and-assign-macro.MacroName: \
+// RUN:     DISALLOW_COPY_AND_ASSIGN_FINALIZE}}"
 
 // RUN: clang-tidy %s -checks="-*,modernize-replace-disallow-copy-and-assign-macro" \
-// RUN:   -config="{CheckOptions: [ \
-// RUN:    {key: modernize-replace-disallow-copy-and-assign-macro.MacroName, \
-// RUN:     value: DISALLOW_COPY_AND_ASSIGN_MORE_AGUMENTS}]}" -- -Wno-extra-semi | count 0
+// RUN:  -config="{CheckOptions: { \
+// RUN:    modernize-replace-disallow-copy-and-assign-macro.MacroName: \
+// RUN:      DISALLOW_COPY_AND_ASSIGN_MORE_AGUMENTS}}" -- -Wno-extra-semi | count 0
 
 // RUN: clang-tidy %s -checks="-*,modernize-replace-disallow-copy-and-assign-macro" \
-// RUN:   -config="{CheckOptions: [ \
-// RUN:    {key: modernize-replace-disallow-copy-and-assign-macro.MacroName, \
-// RUN:     value: DISALLOW_COPY_AND_ASSIGN_NEEDS_PREEXPANSION}]}" -- -Wno-extra-semi | count 0
+// RUN:  -config="{CheckOptions: { \
+// RUN:    modernize-replace-disallow-copy-and-assign-macro.MacroName: \
+// RUN:      DISALLOW_COPY_AND_ASSIGN_NEEDS_PREEXPANSION}}" -- -Wno-extra-semi | count 0
 
 // Note: the last two tests expect no diagnostics, but FileCheck cannot handle
 // that, hence the use of | count 0.

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
index bc1148bdd86844..b22df9408fc848 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-auto %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 'true'} , {key: modernize-use-auto.MinTypeNameLength, value: '0'}]}" \
+// RUN:   -config="{CheckOptions: {modernize-use-auto.RemoveStars: 'true' , modernize-use-auto.MinTypeNameLength: '0'}}" \
 // RUN:   -- -frtti
 
 struct A {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
index 555a685b72a0c5..94359006ac2ff7 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-auto %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-auto.MinTypeNameLength, value: '0'}]}" \
+// RUN:   -config="{CheckOptions: {modernize-use-auto.MinTypeNameLength: '0'}}" \
 // RUN:   -- -I %S/Inputs/use-auto -frtti
 
 struct A {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
index d39f16c85396f6..d68810620674ee 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
@@ -1,7 +1,7 @@
-// RUN: %check_clang_tidy -check-suffix=0-0 %s modernize-use-auto %t  -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: false}, {key: modernize-use-auto.MinTypeNameLength, value: 0}]}" -- -frtti
-// RUN: %check_clang_tidy -check-suffix=0-8 %s modernize-use-auto %t  -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: false}, {key: modernize-use-auto.MinTypeNameLength, value: 8}]}" -- -frtti
-// RUN: %check_clang_tidy -check-suffix=1-0 %s modernize-use-auto %t  -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: true}, {key: modernize-use-auto.MinTypeNameLength, value: 0}]}" -- -frtti
-// RUN: %check_clang_tidy -check-suffix=1-8 %s modernize-use-auto %t  -- -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: true}, {key: modernize-use-auto.MinTypeNameLength, value: 8}]}" -- -frtti
+// RUN: %check_clang_tidy -check-suffix=0-0 %s modernize-use-auto %t  -- -config="{CheckOptions: {modernize-use-auto.RemoveStars: false, modernize-use-auto.MinTypeNameLength: 0}}" -- -frtti
+// RUN: %check_clang_tidy -check-suffix=0-8 %s modernize-use-auto %t  -- -config="{CheckOptions: {modernize-use-auto.RemoveStars: false, modernize-use-auto.MinTypeNameLength: 8}}" -- -frtti
+// RUN: %check_clang_tidy -check-suffix=1-0 %s modernize-use-auto %t  -- -config="{CheckOptions: {modernize-use-auto.RemoveStars: true, modernize-use-auto.MinTypeNameLength: 0}}" -- -frtti
+// RUN: %check_clang_tidy -check-suffix=1-8 %s modernize-use-auto %t  -- -config="{CheckOptions: {modernize-use-auto.RemoveStars: true, modernize-use-auto.MinTypeNameLength: 8}}" -- -frtti
 
 template <class T> extern T foo();
 template <class T> struct P {  explicit P(T t) : t_(t) {}  T t_;};

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new-remove-stars.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new-remove-stars.cpp
index 23a1bd1b58d8a8..43d3467cdbab42 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new-remove-stars.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new-remove-stars.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-auto %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-auto.RemoveStars, value: 'true'}, {key: modernize-use-auto.MinTypeNameLength, value: '0'}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-auto.RemoveStars: 'true', modernize-use-auto.MinTypeNameLength: '0'}}"
 
 class MyType {};
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new.cpp
index c9a438971cfd35..f6a90364f385c9 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-new.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-auto %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-auto.MinTypeNameLength, value: '0'}]}" \
+// RUN:   -config="{CheckOptions: {modernize-use-auto.MinTypeNameLength: '0'}}" \
 // RUN:   -- -frtti
 
 class MyType {};

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals-ignore-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals-ignore-macros.cpp
index a208345a2bf885..392fcfe860f148 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals-ignore-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals-ignore-macros.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s modernize-use-bool-literals %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: modernize-use-bool-literals.IgnoreMacros, \
-// RUN:               value: true}]}"
+// RUN:             {modernize-use-bool-literals.IgnoreMacros: \
+// RUN:                true}}"
 
 bool IntToTrue = 1;
 // CHECK-MESSAGES: :[[@LINE-1]]:18: warning: converting integer literal to bool, use bool literal instead [modernize-use-bool-literals]

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals.cpp
index 2760e224cabef0..30c10efabaef32 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s modernize-use-bool-literals %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: modernize-use-bool-literals.IgnoreMacros, \
-// RUN:               value: false}]}"
+// RUN:             {modernize-use-bool-literals.IgnoreMacros: \
+// RUN:                false}}"
 
 bool IntToTrue = 1;
 // CHECK-MESSAGES: :[[@LINE-1]]:18: warning: converting integer literal to bool, use bool literal instead [modernize-use-bool-literals]

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-assignment.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-assignment.cpp
index 4fdd21294d749a..cf0df449f6de57 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-assignment.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-assignment.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-default-member-init %t -- \
-// RUN: -config="{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: true}]}"
+// RUN: -config="{CheckOptions: {modernize-use-default-member-init.UseAssignment: true}}"
 
 struct S {
 };

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-macros.cpp
index 0fac32c7d6a48f..6401ba7182b79d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-macros.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-default-member-init %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-default-member-init.IgnoreMacros, value: false}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-default-member-init.IgnoreMacros: false}}"
 
 #define MACRO() \
   struct S { \

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
index c3993b4e39e103..2004993ebde51f 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
@@ -1,8 +1,7 @@
 // RUN: %check_clang_tidy %s modernize-use-emplace %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: modernize-use-emplace.IgnoreImplicitConstructors, \
-// RUN:               value: true}] \
-// RUN:             }"
+// RUN:             {modernize-use-emplace.IgnoreImplicitConstructors: \
+// RUN:                true}}"
 
 namespace std {
 template <typename>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
index a055b25798de0b..fead2b6151d021 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
@@ -1,12 +1,11 @@
 // RUN: %check_clang_tidy %s modernize-use-emplace %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: modernize-use-emplace.ContainersWithPushBack, \
-// RUN:               value: '::std::vector; ::std::list; ::std::deque; llvm::LikeASmallVector'}, \
-// RUN:              {key: modernize-use-emplace.TupleTypes, \
-// RUN:               value: '::std::pair; std::tuple; ::test::Single'}, \
-// RUN:              {key: modernize-use-emplace.TupleMakeFunctions, \
-// RUN:               value: '::std::make_pair; ::std::make_tuple; ::test::MakeSingle'}] \
-// RUN:             }"
+// RUN:             {modernize-use-emplace.ContainersWithPushBack: \
+// RUN:                '::std::vector; ::std::list; ::std::deque; llvm::LikeASmallVector', \
+// RUN:              modernize-use-emplace.TupleTypes: \
+// RUN:                '::std::pair; std::tuple; ::test::Single', \
+// RUN:              modernize-use-emplace.TupleMakeFunctions: \
+// RUN:                '::std::make_pair; ::std::make_tuple; ::test::MakeSingle'}}"
 
 namespace std {
 template <typename>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
index eaa600ad86438c..559031cf4d9bda 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-equals-default %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-equals-default.IgnoreMacros, value: false}]}" \
+// RUN:   -config="{CheckOptions: {modernize-use-equals-default.IgnoreMacros: false}}" \
 // RUN:   -- -fno-delayed-template-parsing -fexceptions
 
 // Out of line definition.

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-macros.cpp
index af4bafbc7bd9aa..535e251ac87500 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-macros.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-equals-default %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-equals-default.IgnoreMacros, value: false}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-equals-default.IgnoreMacros: false}}"
 
 #define STRUCT_WITH_DEFAULT(_base, _type) \
   struct _type {                          \

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-delete-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-delete-macros.cpp
index d3dcc26e25dc85..3b8e86e6013397 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-delete-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-delete-macros.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-equals-delete %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-equals-delete.IgnoreMacros, value: false}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-equals-delete.IgnoreMacros: false}}"
 
 #define MACRO(type) void operator=(type const &)
 class C {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-clang-unused.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-clang-unused.cpp
index 0d29a032274943..df502c89751e82 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-clang-unused.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-clang-unused.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-nodiscard %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: '[[clang::warn_unused_result]]'}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-nodiscard.ReplacementString: '[[clang::warn_unused_result]]'}}"
 
 class Foo
 {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-cxx11.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-cxx11.cpp
index 8c75043a06414b..d07ab5d549189e 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-cxx11.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-cxx11.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-nodiscard %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: '__attribute__((warn_unused_result))'}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-nodiscard.ReplacementString: '__attribute__((warn_unused_result))'}}"
 
 class Foo
 {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-gcc-unused.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-gcc-unused.cpp
index 7ddcb7aff380cc..6eec5edbcc0cef 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-gcc-unused.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-gcc-unused.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-nodiscard %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: '[[gcc::warn_unused_result]]'}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-nodiscard.ReplacementString: '[[gcc::warn_unused_result]]'}}"
 
 class Foo
 {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-no-macro-inscope-cxx11.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-no-macro-inscope-cxx11.cpp
index 5ac821ad466fe0..0f97d1ed28cf29 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-no-macro-inscope-cxx11.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard-no-macro-inscope-cxx11.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-nodiscard %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: 'CUSTOM_NO_DISCARD'}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-nodiscard.ReplacementString: 'CUSTOM_NO_DISCARD'}}"
 
 // As if the macro was not defined.
 // #define CUSTOM_NO_DISCARD __attribute_((warn_unused_result))

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard.cpp
index 12d40bda648a3e..edd6ce00682d87 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy -std=c++17-or-later %s modernize-use-nodiscard %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-nodiscard.ReplacementString, value: 'NO_DISCARD'}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-nodiscard.ReplacementString: 'NO_DISCARD'}}"
 
 namespace std {
 template <class>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-macro.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-macro.cpp
index 77b59cf51dfa31..f41a363d8b63ad 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-macro.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-macro.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy -std=c++11,c++14 %s modernize-use-noexcept %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-noexcept.ReplacementString, value: 'NOEXCEPT'}]}" \
+// RUN:   -config="{CheckOptions: {modernize-use-noexcept.ReplacementString: 'NOEXCEPT'}}" \
 // RUN:   -- -fexceptions
 // This test is not run in C++17 or later because dynamic exception
 // specifications were removed in C++17.

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-opt.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-opt.cpp
index 8d17f4060934dc..9e568fe1cdcf8d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-opt.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-opt.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy -std=c++11,c++14 %s modernize-use-noexcept %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-noexcept.UseNoexceptFalse, value: false}]}" \
+// RUN:   -config="{CheckOptions: {modernize-use-noexcept.UseNoexceptFalse: false}}" \
 // RUN:   -- -fexceptions
 // This test is not run in C++17 or later because dynamic exception
 // specifications were removed in C++17.

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
index d7b78ac9c3f644..7bc0925136aa86 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-nullptr %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-nullptr.NullMacros, value: 'MY_NULL,NULL'}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-nullptr.NullMacros: 'MY_NULL,NULL'}}"
 
 #define NULL 0
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-allow-override-and-final.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-allow-override-and-final.cpp
index 2c44c95c19a2ed..b6c3e0a70999ae 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-allow-override-and-final.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-allow-override-and-final.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-override %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-override.AllowOverrideAndFinal, value: true}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-override.AllowOverrideAndFinal: true}}"
 
 struct Base {
   virtual ~Base();

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-no-destructors.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-no-destructors.cpp
index a2b37fd89d9564..2012d71c269a6d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-no-destructors.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-no-destructors.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-override %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-override.IgnoreDestructors, value: true}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-override.IgnoreDestructors: true}}"
 
 struct Base {
   virtual ~Base();

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-macro.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-macro.cpp
index 37013adaff808f..f9ac6d462fa393 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-macro.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-macro.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-override %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-override.OverrideSpelling, value: 'OVERRIDE'},{key: modernize-use-override.FinalSpelling, value: 'FINAL'}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-override.OverrideSpelling: 'OVERRIDE',modernize-use-override.FinalSpelling: 'FINAL'}}"
 
 #define ABSTRACT = 0
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-no-macro-inscope.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-no-macro-inscope.cpp
index f0cbdc5c2b1794..924dd536e62336 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-no-macro-inscope.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-no-macro-inscope.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-override %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-override.OverrideSpelling, value: 'CUSTOM_OVERRIDE'},{key: modernize-use-override.FinalSpelling, value: 'CUSTOM_FINAL'}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-override.OverrideSpelling: 'CUSTOM_OVERRIDE',modernize-use-override.FinalSpelling: 'CUSTOM_FINAL'}}"
 
 // As if the macro was not defined.
 //#define CUSTOM_OVERRIDE override

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-macros.cpp
index 02143a07aabdcf..092bc6666bb1cd 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-macros.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s modernize-use-using %t -- \
-// RUN:   -config="{CheckOptions: [{key: modernize-use-using.IgnoreMacros, value: false}]}"
+// RUN:   -config="{CheckOptions: {modernize-use-using.IgnoreMacros: false}}"
 
 #define CODE typedef int INT
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/objc/forbidden-subclassing-custom.m b/clang-tools-extra/test/clang-tidy/checkers/objc/forbidden-subclassing-custom.m
index 59e6a880033f7a..fe7210e9a4a06d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/objc/forbidden-subclassing-custom.m
+++ b/clang-tools-extra/test/clang-tidy/checkers/objc/forbidden-subclassing-custom.m
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s objc-forbidden-subclassing %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: objc-forbidden-subclassing.ClassNames, value: "Foo;Quux"}]}' \
+// RUN:  {objc-forbidden-subclassing.ClassNames: "Foo;Quux"}}' \
 // RUN: --
 
 @interface UIImagePickerController

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/openmp/exception-escape.cpp b/clang-tools-extra/test/clang-tidy/checkers/openmp/exception-escape.cpp
index 733458369251e9..200123a52d9b34 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/openmp/exception-escape.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/openmp/exception-escape.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s openmp-exception-escape %t -- -extra-arg=-fopenmp=libomp -extra-arg=-fexceptions -config="{CheckOptions: [{key: openmp-exception-escape.IgnoredExceptions, value: 'ignored, ignored2'}]}" --
+// RUN: %check_clang_tidy %s openmp-exception-escape %t -- -extra-arg=-fopenmp=libomp -extra-arg=-fexceptions -config="{CheckOptions: {openmp-exception-escape.IgnoredExceptions: 'ignored, ignored2'}}" --
 
 int thrower() {
   throw 42;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
index d26cd2c8ca30cf..dc625024fd1bc9 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
@@ -1,8 +1,8 @@
 // RUN: %check_clang_tidy %s performance-faster-string-find %t
 // RUN: %check_clang_tidy -check-suffix=CUSTOM %s performance-faster-string-find %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: performance-faster-string-find.StringLikeClasses, \
-// RUN:               value: '::llvm::StringRef;'}]}"
+// RUN:             {performance-faster-string-find.StringLikeClasses: \
+// RUN:                '::llvm::StringRef;'}}"
 
 namespace std {
 template <typename Char>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-allowed-types.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-allowed-types.cpp
index 3edc68a3212931..788cc7c78f7a2c 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-allowed-types.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-allowed-types.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s performance-for-range-copy %t -- \
-// RUN:     -config="{CheckOptions: [{key: performance-for-range-copy.AllowedTypes, value: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$;qualified::Type;::fully::QualifiedType'}]}" \
+// RUN:     -config="{CheckOptions: {performance-for-range-copy.AllowedTypes: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$;qualified::Type;::fully::QualifiedType'}}" \
 // RUN:     -- -fno-delayed-template-parsing
 
 template <typename T>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-warn-on-all-auto-copies.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-warn-on-all-auto-copies.cpp
index 824068aa7a3b5e..f210b6cbc12e30 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-warn-on-all-auto-copies.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy-warn-on-all-auto-copies.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s performance-for-range-copy %t -- \
-// RUN:     -config="{CheckOptions: [{key: "performance-for-range-copy.WarnOnAllAutoCopies", value: true}]}"
+// RUN:     -config="{CheckOptions: {performance-for-range-copy.WarnOnAllAutoCopies: true}}"
 
 template <typename T>
 struct Iterator {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
index 105d276562175c..c28592f4d63682 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s performance-inefficient-vector-operation %t -- \
 // RUN: -format-style=llvm \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: performance-inefficient-vector-operation.EnableProto, value: true}]}'
+// RUN:  {performance-inefficient-vector-operation.EnableProto: true}}'
 
 namespace std {
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-const-ref.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-const-ref.cpp
index 737ad966cfba7a..95ab6571b9bb98 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-const-ref.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-const-ref.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s performance-move-const-arg %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: performance-move-const-arg.CheckMoveToConstRef, value: false}]}'
+// RUN:  {performance-move-const-arg.CheckMoveToConstRef: false}}'
 
 namespace std {
 template <typename>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-trivially-copyable.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-trivially-copyable.cpp
index f67d8cce105044..8cc4ecd9e2f0a1 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-trivially-copyable.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-trivially-copyable.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s performance-move-const-arg %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: performance-move-const-arg.CheckTriviallyCopyableMove, value: false}]}'
+// RUN:  {performance-move-const-arg.CheckTriviallyCopyableMove: false}}'
 
 namespace std {
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp
index 2dff4a68b8193f..e37918eabc586f 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s performance-move-constructor-init,modernize-pass-by-value %t -- \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: modernize-pass-by-value.ValuesOnly, value: true}]}' \
+// RUN:  {modernize-pass-by-value.ValuesOnly: true}}' \
 // RUN: -- -isystem %clang_tidy_headers
 
 #include <s.h>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
index 52b14be1231f7c..a8de7cd1d82596 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s performance-unnecessary-copy-initialization %t -- -config="{CheckOptions: [{key: performance-unnecessary-copy-initialization.AllowedTypes, value: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$'}]}" --
+// RUN: %check_clang_tidy %s performance-unnecessary-copy-initialization %t -- -config="{CheckOptions: {performance-unnecessary-copy-initialization.AllowedTypes: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$'}}" --
 
 struct SmartPointer {
   ~SmartPointer();

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
index 96c7ca8a460c2e..5a02be656a799f 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s performance-unnecessary-copy-initialization %t -- -config="{CheckOptions: [{key: performance-unnecessary-copy-initialization.ExcludedContainerTypes, value: 'ns::ViewType$;::ConstInCorrectType$'}]}" --
+// RUN: %check_clang_tidy %s performance-unnecessary-copy-initialization %t -- -config="{CheckOptions: {performance-unnecessary-copy-initialization.ExcludedContainerTypes: 'ns::ViewType$;::ConstInCorrectType$'}}" --
 
 namespace ns {
 template <typename T>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp b/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
index 054732cd99dd89..ff7aa23f7ff7c2 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s performance-unnecessary-value-param %t -- -config="{CheckOptions: [{key: performance-unnecessary-value-param.AllowedTypes, value: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$'}]}" --
+// RUN: %check_clang_tidy %s performance-unnecessary-value-param %t -- -config="{CheckOptions: {performance-unnecessary-value-param.AllowedTypes: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$'}}" --
 
 struct SmartPointer {
   ~SmartPointer();

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-allow.cpp b/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-allow.cpp
index 37a422bb706f8e..66e389ea9bc354 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-allow.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-allow.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s portability-restrict-system-includes %t \
-// RUN:     -- -config="{CheckOptions: [{key: portability-restrict-system-includes.Includes, value: '*,-stddef.h'}]}" \
+// RUN:     -- -config="{CheckOptions: {portability-restrict-system-includes.Includes: '*,-stddef.h'}}" \
 // RUN:     -- -isystem %S/Inputs/restrict-system-includes/system
 
 // Test block-list functionality: allow all but stddef.h.

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-disallow.cpp b/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-disallow.cpp
index f84301826c4810..21b685ef434513 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-disallow.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-disallow.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s portability-restrict-system-includes %t \
-// RUN:     -- -config="{CheckOptions: [{key: portability-restrict-system-includes.Includes, value: '-*,stddef.h'}]}" \
+// RUN:     -- -config="{CheckOptions: {portability-restrict-system-includes.Includes: '-*,stddef.h'}}" \
 // RUN:     -- -isystem %S/Inputs/restrict-system-includes/system
 
 // Test allow-list functionality: disallow all but stddef.h.

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-glob.cpp b/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-glob.cpp
index 5d5c0a1a41cc9b..fed902630e63b5 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-glob.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-glob.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s portability-restrict-system-includes %t \
-// RUN:     -- -config="{CheckOptions: [{key: portability-restrict-system-includes.Includes, value: '-*,std*.h'}]}" \
+// RUN:     -- -config="{CheckOptions: {portability-restrict-system-includes.Includes: '-*,std*.h'}}" \
 // RUN:     -- -isystem %S/Inputs/restrict-system-includes/system
 
 // Test glob functionality: disallow all headers except those that match

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp b/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp
index eaabfc6d3eb047..744f45f1265d60 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp
@@ -2,7 +2,7 @@
 // RUN: mkdir %T/Headers
 // RUN: cp -r %S/Inputs/restrict-system-includes %T/Headers/portability-restrict-system-includes
 // RUN: %check_clang_tidy -std=c++11 %s portability-restrict-system-includes %t \
-// RUN:   -- -config="{CheckOptions: [{key: portability-restrict-system-includes.Includes, value: 'transitive.h,s.h'}]}" \
+// RUN:   -- -config="{CheckOptions: {portability-restrict-system-includes.Includes: 'transitive.h,s.h'}}" \
 // RUN:   -system-headers -header-filter=.* \
 // RUN:   -- -I %T/Headers/portability-restrict-system-includes -isystem %T/Headers/portability-restrict-system-includes/system
 // RUN: FileCheck -input-file=%T/Headers/portability-restrict-system-includes/transitive2.h %s -check-prefix=CHECK-FIXES

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-ppc.cpp b/clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-ppc.cpp
index 547301518f5750..3d67a9ca50b2f2 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-ppc.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-ppc.cpp
@@ -1,15 +1,15 @@
 // RUN: %check_clang_tidy -std=c++11-or-later %s portability-simd-intrinsics %t -- \
-// RUN:  -config='{CheckOptions: [ \
-// RUN:    {key: portability-simd-intrinsics.Suggest, value: false} \
-// RUN:  ]}' -- -target ppc64le -maltivec
+// RUN:  -config='{CheckOptions: {\
+// RUN:    portability-simd-intrinsics.Suggest: false \
+// RUN:  }}' -- -target ppc64le -maltivec
 // RUN: %check_clang_tidy -std=c++11,c++14,c++17 %s portability-simd-intrinsics -check-suffix=BEFORE-CXX20 %t -- \
-// RUN:  -config='{CheckOptions: [ \
-// RUN:    {key: portability-simd-intrinsics.Suggest, value: true} \
-// RUN:  ]}' -- -target ppc64le -maltivec
+// RUN:  -config='{CheckOptions: { \
+// RUN:    portability-simd-intrinsics.Suggest: true \
+// RUN:  }}' -- -target ppc64le -maltivec
 // RUN: %check_clang_tidy -std=c++20-or-later %s portability-simd-intrinsics -check-suffix=CXX20 %t -- \
-// RUN:  -config='{CheckOptions: [ \
-// RUN:    {key: portability-simd-intrinsics.Suggest, value: true} \
-// RUN:  ]}' -- -target ppc64le -maltivec
+// RUN:  -config='{CheckOptions: { \
+// RUN:    portability-simd-intrinsics.Suggest: true \
+// RUN:  }}' -- -target ppc64le -maltivec
 
 vector int vec_add(vector int, vector int);
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-x86.cpp b/clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-x86.cpp
index 3736161dfb4950..b2c9e398ebe5ca 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-x86.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-x86.cpp
@@ -1,15 +1,15 @@
 // RUN: %check_clang_tidy -std=c++11-or-later %s portability-simd-intrinsics %t -- \
-// RUN:  -config='{CheckOptions: [ \
-// RUN:    {key: portability-simd-intrinsics.Suggest, value: false} \
-// RUN:  ]}' -- -target x86_64
+// RUN:  -config='{CheckOptions: { \
+// RUN:    portability-simd-intrinsics.Suggest: false \
+// RUN:  }}' -- -target x86_64
 // RUN: %check_clang_tidy -std=c++11,c++14,c++17 %s portability-simd-intrinsics -check-suffix=BEFORE-CXX20 %t -- \
-// RUN:  -config='{CheckOptions: [ \
-// RUN:    {key: portability-simd-intrinsics.Suggest, value: true} \
-// RUN:  ]}' -- -target x86_64
+// RUN:  -config='{CheckOptions: { \
+// RUN:    portability-simd-intrinsics.Suggest: true \
+// RUN:  }}' -- -target x86_64
 // RUN: %check_clang_tidy -std=c++20-or-later %s portability-simd-intrinsics -check-suffix=CXX20 %t -- \
-// RUN:  -config='{CheckOptions: [ \
-// RUN:    {key: portability-simd-intrinsics.Suggest, value: true} \
-// RUN:  ]}' -- -target x86_64
+// RUN:  -config='{CheckOptions: { \
+// RUN:    portability-simd-intrinsics.Suggest: true \
+// RUN:  }}' -- -target x86_64
 
 typedef long long __m128i __attribute__((vector_size(16)));
 typedef double __m256 __attribute__((vector_size(32)));

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/.clang-tidy b/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/.clang-tidy
index fc68c6df4a80a9..0256f74502399f 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/.clang-tidy
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/.clang-tidy
@@ -1,7 +1,5 @@
 Checks: readability-identifier-naming
 CheckOptions:
-  - key:             readability-identifier-naming.GlobalFunctionCase
-    value:           lower_case
-  - key:             readability-identifier-naming.IgnoreMainLikeFunctions
-    value:           true
+  readability-identifier-naming.GlobalFunctionCase: lower_case
+  readability-identifier-naming.IgnoreMainLikeFunctions: true
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/.clang-tidy b/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/.clang-tidy
index d77875c97e68e8..e3d816c1687dc8 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/.clang-tidy
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/.clang-tidy
@@ -1,7 +1,5 @@
 Checks: readability-identifier-naming
 CheckOptions:
-  - key:             readability-identifier-naming.GlobalFunctionCase
-    value:           UPPER_CASE
-  - key:             readability-identifier-naming.IgnoreMainLikeFunctions
-    value:           false
+  readability-identifier-naming.GlobalFunctionCase: UPPER_CASE
+  readability-identifier-naming.IgnoreMainLikeFunctions: false
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation1/.clang-tidy b/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation1/.clang-tidy
index bb5084a5b47609..fb68fa542e1603 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation1/.clang-tidy
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation1/.clang-tidy
@@ -1,114 +1,58 @@
 Checks: readability-identifier-naming
 CheckOptions:
-  - key:    readability-identifier-naming.AbstractClassCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ClassCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ClassConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ClassMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstantMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstantParameterCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstantPointerParameterCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstexprVariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.EnumConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.GlobalConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.GlobalConstantPointerCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.GlobalPointerCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.GlobalVariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.LocalConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.LocalConstantPointerCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.LocalPointerCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.LocalVariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.MemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ParameterCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.PointerParameterCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.PrivateMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ProtectedMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.PublicMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ScopedEnumConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.StaticConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.StaticVariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.VariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.AbstractClassHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ClassHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ClassConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ClassMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstantMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstantParameterHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstantPointerParameterHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstexprVariableHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.EnumConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.GlobalConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.GlobalConstantPointerHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.GlobalPointerHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.GlobalVariableHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.LocalConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.LocalConstantPointerHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.LocalPointerHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.LocalVariableHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.MemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ParameterHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.PointerParameterHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.PrivateMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ProtectedMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.PublicMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ScopedEnumConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.StaticConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.StaticVariableHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.VariableHungarianPrefix
-    value:  On
+  readability-identifier-naming.AbstractClassCase: CamelCase
+  readability-identifier-naming.ClassCase: CamelCase
+  readability-identifier-naming.ClassConstantCase: CamelCase
+  readability-identifier-naming.ClassMemberCase: CamelCase
+  readability-identifier-naming.ConstantCase: CamelCase
+  readability-identifier-naming.ConstantMemberCase: CamelCase
+  readability-identifier-naming.ConstantParameterCase: CamelCase
+  readability-identifier-naming.ConstantPointerParameterCase: CamelCase
+  readability-identifier-naming.ConstexprVariableCase: CamelCase
+  readability-identifier-naming.EnumConstantCase: CamelCase
+  readability-identifier-naming.GlobalConstantCase: CamelCase
+  readability-identifier-naming.GlobalConstantPointerCase: CamelCase
+  readability-identifier-naming.GlobalPointerCase: CamelCase
+  readability-identifier-naming.GlobalVariableCase: CamelCase
+  readability-identifier-naming.LocalConstantCase: CamelCase
+  readability-identifier-naming.LocalConstantPointerCase: CamelCase
+  readability-identifier-naming.LocalPointerCase: CamelCase
+  readability-identifier-naming.LocalVariableCase: CamelCase
+  readability-identifier-naming.MemberCase: CamelCase
+  readability-identifier-naming.ParameterCase: CamelCase
+  readability-identifier-naming.PointerParameterCase: CamelCase
+  readability-identifier-naming.PrivateMemberCase: CamelCase
+  readability-identifier-naming.ProtectedMemberCase: CamelCase
+  readability-identifier-naming.PublicMemberCase: CamelCase
+  readability-identifier-naming.ScopedEnumConstantCase: CamelCase
+  readability-identifier-naming.StaticConstantCase: CamelCase
+  readability-identifier-naming.StaticVariableCase: CamelCase
+  readability-identifier-naming.VariableCase: CamelCase
+  readability-identifier-naming.AbstractClassHungarianPrefix: On
+  readability-identifier-naming.ClassHungarianPrefix: On
+  readability-identifier-naming.ClassConstantHungarianPrefix: On
+  readability-identifier-naming.ClassMemberHungarianPrefix: On
+  readability-identifier-naming.ConstantHungarianPrefix: On
+  readability-identifier-naming.ConstantMemberHungarianPrefix: On
+  readability-identifier-naming.ConstantParameterHungarianPrefix: On
+  readability-identifier-naming.ConstantPointerParameterHungarianPrefix: On
+  readability-identifier-naming.ConstexprVariableHungarianPrefix: On
+  readability-identifier-naming.EnumConstantHungarianPrefix: On
+  readability-identifier-naming.GlobalConstantHungarianPrefix: On
+  readability-identifier-naming.GlobalConstantPointerHungarianPrefix: On
+  readability-identifier-naming.GlobalPointerHungarianPrefix: On
+  readability-identifier-naming.GlobalVariableHungarianPrefix: On
+  readability-identifier-naming.LocalConstantHungarianPrefix: On
+  readability-identifier-naming.LocalConstantPointerHungarianPrefix: On
+  readability-identifier-naming.LocalPointerHungarianPrefix: On
+  readability-identifier-naming.LocalVariableHungarianPrefix: On
+  readability-identifier-naming.MemberHungarianPrefix: On
+  readability-identifier-naming.ParameterHungarianPrefix: On
+  readability-identifier-naming.PointerParameterHungarianPrefix: On
+  readability-identifier-naming.PrivateMemberHungarianPrefix: On
+  readability-identifier-naming.ProtectedMemberHungarianPrefix: On
+  readability-identifier-naming.PublicMemberHungarianPrefix: On
+  readability-identifier-naming.ScopedEnumConstantHungarianPrefix: On
+  readability-identifier-naming.StaticConstantHungarianPrefix: On
+  readability-identifier-naming.StaticVariableHungarianPrefix: On
+  readability-identifier-naming.VariableHungarianPrefix: On

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation2/.clang-tidy b/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation2/.clang-tidy
index f6b6a219101366..39b3903e0eccbd 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation2/.clang-tidy
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation2/.clang-tidy
@@ -1,276 +1,139 @@
 Checks: readability-identifier-naming
 CheckOptions:
-  - key:    readability-identifier-naming.AbstractClassCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ClassCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ClassConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ClassMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstantMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstantParameterCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstantPointerParameterCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ConstexprVariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.EnumConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.GlobalConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.GlobalConstantPointerCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.GlobalPointerCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.GlobalVariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.LocalConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.LocalConstantPointerCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.LocalPointerCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.LocalVariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.MemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ParameterCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.PointerParameterCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.PrivateMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ProtectedMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.PublicMemberCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.ScopedEnumConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.StaticConstantCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.StaticVariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.VariableCase
-    value:  CamelCase
-  - key:    readability-identifier-naming.AbstractClassHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ClassHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ClassConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ClassMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstantMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstantParameterHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstantPointerParameterHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ConstexprVariableHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.EnumConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.GlobalConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.GlobalConstantPointerHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.GlobalPointerHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.GlobalVariableHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.LocalConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.LocalConstantPointerHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.LocalPointerHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.LocalVariableHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.MemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ParameterHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.PointerParameterHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.PrivateMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ProtectedMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.PublicMemberHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.ScopedEnumConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.StaticConstantHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.StaticVariableHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.VariableHungarianPrefix
-    value:  On
-  - key:    readability-identifier-naming.HungarianNotation.General.TreatStructAsClass
-    value:  true
-  - key:    readability-identifier-naming.HungarianNotation.DerivedType.Array
-    value:  mya
-  - key:    readability-identifier-naming.HungarianNotation.DerivedType.Pointer
-    value:  myp
-  - key:    readability-identifier-naming.HungarianNotation.DerivedType.FunctionPointer
-    value:  myfn
-  - key:    readability-identifier-naming.HungarianNotation.CString.CharPointer
-    value:  mysz
-  - key:    readability-identifier-naming.HungarianNotation.CString.CharArray
-    value:  mysz
-  - key:    readability-identifier-naming.HungarianNotation.CString.WideCharPointer
-    value:  mywsz
-  - key:    readability-identifier-naming.HungarianNotation.CString.WideCharArray
-    value:  mywsz
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.int8_t
-    value:  myi8
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.int16_t
-    value:  myi16
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.int32_t
-    value:  myi32
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.int64_t
-    value:  myi64
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.uint8_t
-    value:  myu8
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.uint16_t
-    value:  myu16
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.uint32_t
-    value:  myu32
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.uint64_t
-    value:  myu64
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.char8_t
-    value:  myc8
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.char16_t
-    value:  myc16
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.char32_t
-    value:  myc32
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.float
-    value:  myf
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.double
-    value:  myd
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.char
-    value:  myc
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.bool
-    value:  myb
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType._Bool
-    value:  myb
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.int
-    value:  myi
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.size_t
-    value:  myn
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.wchar_t
-    value:  mywc
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.short-int
-    value:  mysi
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.short
-    value:  mys
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.signed-int
-    value:  mysi
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.signed-short
-    value:  myss
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.signed-short-int
-    value:  myssi
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.signed-long-long-int
-    value:  myslli
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.signed-long-long
-    value:  mysll
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.signed-long-int
-    value:  mysli
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.signed-long
-    value:  mysl
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.signed
-    value:  mys
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-long-long-int
-    value:  myulli
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-long-long
-    value:  myull
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-long-int
-    value:  myuli
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-long
-    value:  myul
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-short-int
-    value:  myusi
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-short
-    value:  myus
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-int
-    value:  myui
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-char
-    value:  myuc
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned
-    value:  myu
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.long-long-int
-    value:  mylli
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.long-double
-    value:  myld
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.long-long
-    value:  myll
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.long-int
-    value:  myli
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.long
-    value:  myl
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.ptr
diff _t
-    value:  myp
-  - key:    readability-identifier-naming.HungarianNotation.PrimitiveType.void
-    value:  myv
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.BOOL
-    value:  myb
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.BOOLEAN
-    value:  myb
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.BYTE
-    value:  myby
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.CHAR
-    value:  myc
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.UCHAR
-    value:  myuc
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.SHORT
-    value:  mys
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.USHORT
-    value:  myus
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.WORD
-    value:  myw
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.DWORD
-    value:  mydw
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.DWORD32
-    value:  mydw32
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.DWORD64
-    value:  mydw64
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.LONG
-    value:  myl
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.ULONG
-    value:  myul
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.ULONG32
-    value:  myul32
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.ULONG64
-    value:  myul64
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.ULONGLONG
-    value:  myull
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.HANDLE
-    value:  myh
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.INT
-    value:  myi
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.INT8
-    value:  myi8
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.INT16
-    value:  myi16
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.INT32
-    value:  myi32
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.INT64
-    value:  myi64
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.UINT
-    value:  myui
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.UINT8
-    value:  myu8
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.UINT16
-    value:  myu16
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.UINT32
-    value:  myu32
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.UINT64
-    value:  myu64
-  - key:    readability-identifier-naming.HungarianNotation.UserDefinedType.PVOID
-    value:  myp
+  readability-identifier-naming.AbstractClassCase: CamelCase
+  readability-identifier-naming.ClassCase: CamelCase
+  readability-identifier-naming.ClassConstantCase: CamelCase
+  readability-identifier-naming.ClassMemberCase: CamelCase
+  readability-identifier-naming.ConstantCase: CamelCase
+  readability-identifier-naming.ConstantMemberCase: CamelCase
+  readability-identifier-naming.ConstantParameterCase: CamelCase
+  readability-identifier-naming.ConstantPointerParameterCase: CamelCase
+  readability-identifier-naming.ConstexprVariableCase: CamelCase
+  readability-identifier-naming.EnumConstantCase: CamelCase
+  readability-identifier-naming.GlobalConstantCase: CamelCase
+  readability-identifier-naming.GlobalConstantPointerCase: CamelCase
+  readability-identifier-naming.GlobalPointerCase: CamelCase
+  readability-identifier-naming.GlobalVariableCase: CamelCase
+  readability-identifier-naming.LocalConstantCase: CamelCase
+  readability-identifier-naming.LocalConstantPointerCase: CamelCase
+  readability-identifier-naming.LocalPointerCase: CamelCase
+  readability-identifier-naming.LocalVariableCase: CamelCase
+  readability-identifier-naming.MemberCase: CamelCase
+  readability-identifier-naming.ParameterCase: CamelCase
+  readability-identifier-naming.PointerParameterCase: CamelCase
+  readability-identifier-naming.PrivateMemberCase: CamelCase
+  readability-identifier-naming.ProtectedMemberCase: CamelCase
+  readability-identifier-naming.PublicMemberCase: CamelCase
+  readability-identifier-naming.ScopedEnumConstantCase: CamelCase
+  readability-identifier-naming.StaticConstantCase: CamelCase
+  readability-identifier-naming.StaticVariableCase: CamelCase
+  readability-identifier-naming.VariableCase: CamelCase
+  readability-identifier-naming.AbstractClassHungarianPrefix: On
+  readability-identifier-naming.ClassHungarianPrefix: On
+  readability-identifier-naming.ClassConstantHungarianPrefix: On
+  readability-identifier-naming.ClassMemberHungarianPrefix: On
+  readability-identifier-naming.ConstantHungarianPrefix: On
+  readability-identifier-naming.ConstantMemberHungarianPrefix: On
+  readability-identifier-naming.ConstantParameterHungarianPrefix: On
+  readability-identifier-naming.ConstantPointerParameterHungarianPrefix: On
+  readability-identifier-naming.ConstexprVariableHungarianPrefix: On
+  readability-identifier-naming.EnumConstantHungarianPrefix: On
+  readability-identifier-naming.GlobalConstantHungarianPrefix: On
+  readability-identifier-naming.GlobalConstantPointerHungarianPrefix: On
+  readability-identifier-naming.GlobalPointerHungarianPrefix: On
+  readability-identifier-naming.GlobalVariableHungarianPrefix: On
+  readability-identifier-naming.LocalConstantHungarianPrefix: On
+  readability-identifier-naming.LocalConstantPointerHungarianPrefix: On
+  readability-identifier-naming.LocalPointerHungarianPrefix: On
+  readability-identifier-naming.LocalVariableHungarianPrefix: On
+  readability-identifier-naming.MemberHungarianPrefix: On
+  readability-identifier-naming.ParameterHungarianPrefix: On
+  readability-identifier-naming.PointerParameterHungarianPrefix: On
+  readability-identifier-naming.PrivateMemberHungarianPrefix: On
+  readability-identifier-naming.ProtectedMemberHungarianPrefix: On
+  readability-identifier-naming.PublicMemberHungarianPrefix: On
+  readability-identifier-naming.ScopedEnumConstantHungarianPrefix: On
+  readability-identifier-naming.StaticConstantHungarianPrefix: On
+  readability-identifier-naming.StaticVariableHungarianPrefix: On
+  readability-identifier-naming.VariableHungarianPrefix: On
+  readability-identifier-naming.HungarianNotation.General.TreatStructAsClass: true
+  readability-identifier-naming.HungarianNotation.DerivedType.Array: mya
+  readability-identifier-naming.HungarianNotation.DerivedType.Pointer: myp
+  readability-identifier-naming.HungarianNotation.DerivedType.FunctionPointer: myfn
+  readability-identifier-naming.HungarianNotation.CString.CharPointer: mysz
+  readability-identifier-naming.HungarianNotation.CString.CharArray: mysz
+  readability-identifier-naming.HungarianNotation.CString.WideCharPointer: mywsz
+  readability-identifier-naming.HungarianNotation.CString.WideCharArray: mywsz
+  readability-identifier-naming.HungarianNotation.PrimitiveType.int8_t: myi8
+  readability-identifier-naming.HungarianNotation.PrimitiveType.int16_t: myi16
+  readability-identifier-naming.HungarianNotation.PrimitiveType.int32_t: myi32
+  readability-identifier-naming.HungarianNotation.PrimitiveType.int64_t: myi64
+  readability-identifier-naming.HungarianNotation.PrimitiveType.uint8_t: myu8
+  readability-identifier-naming.HungarianNotation.PrimitiveType.uint16_t: myu16
+  readability-identifier-naming.HungarianNotation.PrimitiveType.uint32_t: myu32
+  readability-identifier-naming.HungarianNotation.PrimitiveType.uint64_t: myu64
+  readability-identifier-naming.HungarianNotation.PrimitiveType.char8_t: myc8
+  readability-identifier-naming.HungarianNotation.PrimitiveType.char16_t: myc16
+  readability-identifier-naming.HungarianNotation.PrimitiveType.char32_t: myc32
+  readability-identifier-naming.HungarianNotation.PrimitiveType.float: myf
+  readability-identifier-naming.HungarianNotation.PrimitiveType.double: myd
+  readability-identifier-naming.HungarianNotation.PrimitiveType.char: myc
+  readability-identifier-naming.HungarianNotation.PrimitiveType.bool: myb
+  readability-identifier-naming.HungarianNotation.PrimitiveType._Bool: myb
+  readability-identifier-naming.HungarianNotation.PrimitiveType.int: myi
+  readability-identifier-naming.HungarianNotation.PrimitiveType.size_t: myn
+  readability-identifier-naming.HungarianNotation.PrimitiveType.wchar_t: mywc
+  readability-identifier-naming.HungarianNotation.PrimitiveType.short-int: mysi
+  readability-identifier-naming.HungarianNotation.PrimitiveType.short: mys
+  readability-identifier-naming.HungarianNotation.PrimitiveType.signed-int: mysi
+  readability-identifier-naming.HungarianNotation.PrimitiveType.signed-short: myss
+  readability-identifier-naming.HungarianNotation.PrimitiveType.signed-short-int: myssi
+  readability-identifier-naming.HungarianNotation.PrimitiveType.signed-long-long-int: myslli
+  readability-identifier-naming.HungarianNotation.PrimitiveType.signed-long-long: mysll
+  readability-identifier-naming.HungarianNotation.PrimitiveType.signed-long-int: mysli
+  readability-identifier-naming.HungarianNotation.PrimitiveType.signed-long: mysl
+  readability-identifier-naming.HungarianNotation.PrimitiveType.signed: mys
+  readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-long-long-int: myulli
+  readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-long-long: myull
+  readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-long-int: myuli
+  readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-long: myul
+  readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-short-int: myusi
+  readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-short: myus
+  readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-int: myui
+  readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned-char: myuc
+  readability-identifier-naming.HungarianNotation.PrimitiveType.unsigned: myu
+  readability-identifier-naming.HungarianNotation.PrimitiveType.long-long-int: mylli
+  readability-identifier-naming.HungarianNotation.PrimitiveType.long-double: myld
+  readability-identifier-naming.HungarianNotation.PrimitiveType.long-long: myll
+  readability-identifier-naming.HungarianNotation.PrimitiveType.long-int: myli
+  readability-identifier-naming.HungarianNotation.PrimitiveType.long: myl
+  readability-identifier-naming.HungarianNotation.PrimitiveType.ptr
diff _t: myp
+  readability-identifier-naming.HungarianNotation.PrimitiveType.void: myv
+  readability-identifier-naming.HungarianNotation.UserDefinedType.BOOL: myb
+  readability-identifier-naming.HungarianNotation.UserDefinedType.BOOLEAN: myb
+  readability-identifier-naming.HungarianNotation.UserDefinedType.BYTE: myby
+  readability-identifier-naming.HungarianNotation.UserDefinedType.CHAR: myc
+  readability-identifier-naming.HungarianNotation.UserDefinedType.UCHAR: myuc
+  readability-identifier-naming.HungarianNotation.UserDefinedType.SHORT: mys
+  readability-identifier-naming.HungarianNotation.UserDefinedType.USHORT: myus
+  readability-identifier-naming.HungarianNotation.UserDefinedType.WORD: myw
+  readability-identifier-naming.HungarianNotation.UserDefinedType.DWORD: mydw
+  readability-identifier-naming.HungarianNotation.UserDefinedType.DWORD32: mydw32
+  readability-identifier-naming.HungarianNotation.UserDefinedType.DWORD64: mydw64
+  readability-identifier-naming.HungarianNotation.UserDefinedType.LONG: myl
+  readability-identifier-naming.HungarianNotation.UserDefinedType.ULONG: myul
+  readability-identifier-naming.HungarianNotation.UserDefinedType.ULONG32: myul32
+  readability-identifier-naming.HungarianNotation.UserDefinedType.ULONG64: myul64
+  readability-identifier-naming.HungarianNotation.UserDefinedType.ULONGLONG: myull
+  readability-identifier-naming.HungarianNotation.UserDefinedType.HANDLE: myh
+  readability-identifier-naming.HungarianNotation.UserDefinedType.INT: myi
+  readability-identifier-naming.HungarianNotation.UserDefinedType.INT8: myi8
+  readability-identifier-naming.HungarianNotation.UserDefinedType.INT16: myi16
+  readability-identifier-naming.HungarianNotation.UserDefinedType.INT32: myi32
+  readability-identifier-naming.HungarianNotation.UserDefinedType.INT64: myi64
+  readability-identifier-naming.HungarianNotation.UserDefinedType.UINT: myui
+  readability-identifier-naming.HungarianNotation.UserDefinedType.UINT8: myu8
+  readability-identifier-naming.HungarianNotation.UserDefinedType.UINT16: myu16
+  readability-identifier-naming.HungarianNotation.UserDefinedType.UINT32: myu32
+  readability-identifier-naming.HungarianNotation.UserDefinedType.UINT64: myu64
+  readability-identifier-naming.HungarianNotation.UserDefinedType.PVOID: myp

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-few-lines.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-few-lines.cpp
index 00d253a8f1c64a..ac898bac29e4fa 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-few-lines.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-few-lines.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s readability-braces-around-statements %t -- -config="{CheckOptions: [{key: readability-braces-around-statements.ShortStatementLines, value: 4}]}" --
+// RUN: %check_clang_tidy %s readability-braces-around-statements %t -- -config="{CheckOptions: {readability-braces-around-statements.ShortStatementLines: 4}}" --
 
 void do_something(const char *) {}
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
index 504043f30860c7..50456c6de0c89e 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s readability-braces-around-statements %t -- -config="{CheckOptions: [{key: readability-braces-around-statements.ShortStatementLines, value: 1}]}" --
+// RUN: %check_clang_tidy %s readability-braces-around-statements %t -- -config="{CheckOptions: {readability-braces-around-statements.ShortStatementLines: 1}}" --
 
 void do_something(const char *) {}
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-single-line.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-single-line.cpp
index 3edbd4bf8e6225..3b90299bd98662 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-single-line.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-single-line.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s readability-braces-around-statements %t -- -config="{CheckOptions: [{key: readability-braces-around-statements.ShortStatementLines, value: 2}]}" --
+// RUN: %check_clang_tidy %s readability-braces-around-statements %t -- -config="{CheckOptions: {readability-braces-around-statements.ShortStatementLines: 2}}" --
 
 void do_something(const char *) {}
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-cond-var-refactor.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-cond-var-refactor.cpp
index 0d43240f1c6a6e..c8684e453aa9f8 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-cond-var-refactor.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-cond-var-refactor.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s readability-else-after-return %t -- \
-// RUN:     -config='{CheckOptions: [ \
-// RUN:         {key: readability-else-after-return.WarnOnConditionVariables, value: false}, \
-// RUN:     ]}'
+// RUN:     -config='{CheckOptions: { \
+// RUN:         readability-else-after-return.WarnOnConditionVariables: false, \
+// RUN:     }}'
 
 bool foo(int Y) {
   // Excess scopes are here so that the check would have to opportunity to

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
index abcea9e76e501d..d17ed021485789 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s readability-else-after-return %t -- \
-// RUN:     -config='{CheckOptions: [ \
-// RUN:         {key: readability-else-after-return.WarnOnUnfixable, value: false}, \
-// RUN:     ]}'
+// RUN:     -config='{CheckOptions: { \
+// RUN:         readability-else-after-return.WarnOnUnfixable: false, \
+// RUN:     }}'
 
 int h(int);
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp
index 51b84ccf391e83..35040f32415601 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp
@@ -1,31 +1,21 @@
 // RUN: %check_clang_tidy %s readability-function-cognitive-complexity %t -- \
 // RUN:   -config='{CheckOptions: \
-// RUN:             [{key: readability-function-cognitive-complexity.Threshold, \
-// RUN:               value: 0}, \
-// RUN:              {key: readability-function-cognitive-complexity.DescribeBasicIncrements, \
-// RUN:               value: "false"} ]}'
+// RUN:             {readability-function-cognitive-complexity.Threshold: 0, \
+// RUN:              readability-function-cognitive-complexity.DescribeBasicIncrements: "false"}}'
 // RUN: %check_clang_tidy -check-suffix=THRESHOLD5 %s readability-function-cognitive-complexity %t -- \
 // RUN:   -config='{CheckOptions: \
-// RUN:             [{key: readability-function-cognitive-complexity.Threshold, \
-// RUN:               value: 5}, \
-// RUN:              {key: readability-function-cognitive-complexity.DescribeBasicIncrements, \
-// RUN:               value: "false"} ]}'
+// RUN:             {readability-function-cognitive-complexity.Threshold: 5, \
+// RUN:              readability-function-cognitive-complexity.DescribeBasicIncrements: "false"}}'
 // RUN: %check_clang_tidy -check-suffix=IGNORE-MACROS %s readability-function-cognitive-complexity %t -- \
 // RUN:   -config='{CheckOptions: \
-// RUN:             [{key: readability-function-cognitive-complexity.Threshold, \
-// RUN:               value: 0}, \
-// RUN:              {key: readability-function-cognitive-complexity.IgnoreMacros, \
-// RUN:               value: "true"}, \
-// RUN:              {key: readability-function-cognitive-complexity.DescribeBasicIncrements, \
-// RUN:               value: "false"} ]}'
+// RUN:             {readability-function-cognitive-complexity.Threshold: 0, \
+// RUN:              readability-function-cognitive-complexity.IgnoreMacros: "true", \
+// RUN:              readability-function-cognitive-complexity.DescribeBasicIncrements: "false"}}'
 // RUN: %check_clang_tidy -check-suffix=GLOBAL-IGNORE-MACROS %s readability-function-cognitive-complexity %t -- \
 // RUN:   -config='{CheckOptions: \
-// RUN:             [{key: readability-function-cognitive-complexity.Threshold, \
-// RUN:               value: 0}, \
-// RUN:              {key: IgnoreMacros, \
-// RUN:               value: "true"}, \
-// RUN:              {key: readability-function-cognitive-complexity.DescribeBasicIncrements, \
-// RUN:               value: "false"} ]}'
+// RUN:             {readability-function-cognitive-complexity.Threshold: 0, \
+// RUN:              IgnoreMacros: "true", \
+// RUN:              readability-function-cognitive-complexity.DescribeBasicIncrements: "false"}}'
 
 void func_of_complexity_4() {
   // CHECK-NOTES: :[[@LINE-1]]:6: warning: function 'func_of_complexity_4' has cognitive complexity of 4 (threshold 0) [readability-function-cognitive-complexity]

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
index 021330ccf9fd00..aad74da21553fd 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s readability-function-cognitive-complexity %t -- -config='{CheckOptions: [{key: readability-function-cognitive-complexity.Threshold, value: 0}]}' -- -std=c++11 -fblocks -fexceptions -w
+// RUN: %check_clang_tidy %s readability-function-cognitive-complexity %t -- -config='{CheckOptions: {readability-function-cognitive-complexity.Threshold: 0}}' -- -std=c++11 -fblocks -fexceptions -w
 
 // any function should be checked.
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/function-size-variables-c++17.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/function-size-variables-c++17.cpp
index 8af0d9668b7d8b..5718be3bb41aa2 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/function-size-variables-c++17.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/function-size-variables-c++17.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s readability-function-size %t -- -config='{CheckOptions: [{key: readability-function-size.LineThreshold, value: 0}, {key: readability-function-size.StatementThreshold, value: 0}, {key: readability-function-size.BranchThreshold, value: 0}, {key: readability-function-size.ParameterThreshold, value: 5}, {key: readability-function-size.NestingThreshold, value: 2}, {key: readability-function-size.VariableThreshold, value: 1}]}' -- -std=c++17
+// RUN: %check_clang_tidy %s readability-function-size %t -- -config='{CheckOptions: {readability-function-size.LineThreshold: 0, readability-function-size.StatementThreshold: 0, readability-function-size.BranchThreshold: 0, readability-function-size.ParameterThreshold: 5, readability-function-size.NestingThreshold: 2, readability-function-size.VariableThreshold: 1}}' -- -std=c++17
 
 void structured_bindings() {
   int a[2] = {1, 2};

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/function-size.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/function-size.cpp
index 9c52f1e6e1cf7c..b6a79465d981c6 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/function-size.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/function-size.cpp
@@ -1,12 +1,12 @@
 // RUN: %check_clang_tidy %s readability-function-size %t -- \
-// RUN:     -config='{CheckOptions: [ \
-// RUN:         {key: readability-function-size.LineThreshold, value: 0}, \
-// RUN:         {key: readability-function-size.StatementThreshold, value: 0}, \
-// RUN:         {key: readability-function-size.BranchThreshold, value: 0}, \
-// RUN:         {key: readability-function-size.ParameterThreshold, value: 5}, \
-// RUN:         {key: readability-function-size.NestingThreshold, value: 2}, \
-// RUN:         {key: readability-function-size.VariableThreshold, value: 1} \
-// RUN:     ]}'
+// RUN:     -config='{CheckOptions: { \
+// RUN:         readability-function-size.LineThreshold: 0, \
+// RUN:         readability-function-size.StatementThreshold: 0, \
+// RUN:         readability-function-size.BranchThreshold: 0, \
+// RUN:         readability-function-size.ParameterThreshold: 5, \
+// RUN:         readability-function-size.NestingThreshold: 2, \
+// RUN:         readability-function-size.VariableThreshold: 1 \
+// RUN:     }}'
 
 // Bad formatting is intentional, don't run clang-format over the whole file!
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length.cpp
index 40fd1c5c7a2da6..33b0ac7ce7aa3e 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s readability-identifier-length %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: readability-identifier-length.IgnoredVariableNames, value: "^[xy]$"}]}' \
+// RUN:  {readability-identifier-length.IgnoredVariableNames: "^[xy]$"}}' \
 // RUN: -- -fexceptions
 
 struct myexcept {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-bugfix-name-conflicts.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-bugfix-name-conflicts.cpp
index bee93c99976b48..2e79aa9cb801a3 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-bugfix-name-conflicts.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-bugfix-name-conflicts.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: readability-identifier-naming.ParameterCase, value: lower_case} \
-// RUN:   ]}'
+// RUN:   -config='{CheckOptions: { \
+// RUN:     readability-identifier-naming.ParameterCase: lower_case \
+// RUN:   }}'
 
 int func(int Break) {
   // CHECK-MESSAGES: :[[@LINE-1]]:14: warning: invalid case style for parameter 'Break'; cannot be fixed because 'break' would conflict with a keyword

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-violation.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-violation.cpp
index aa4a76821d6667..09245e6541a0b3 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-violation.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-violation.cpp
@@ -1,11 +1,11 @@
 // RUN: clang-tidy %s -checks=readability-identifier-naming \
-// RUN:   -config="{CheckOptions: [\
-// RUN:   {key: readability-identifier-naming.FunctionCase, value: camelback}, \
-// RUN:   {key: readability-identifier-naming.VariableCase, value: camelBack}, \
-// RUN:   {key: readability-identifier-naming.ClassCase, value: UUPER_CASE}, \
-// RUN:   {key: readability-identifier-naming.StructCase, value: CAMEL}, \
-// RUN:   {key: readability-identifier-naming.EnumCase, value: AnY_cASe}, \
-// RUN:   ]}" 2>&1 | FileCheck %s --implicit-check-not="{{warning|error}}:"
+// RUN:   -config="{CheckOptions: {\
+// RUN:   readability-identifier-naming.FunctionCase: camelback, \
+// RUN:   readability-identifier-naming.VariableCase: camelBack, \
+// RUN:   readability-identifier-naming.ClassCase: UUPER_CASE, \
+// RUN:   readability-identifier-naming.StructCase: CAMEL, \
+// RUN:   readability-identifier-naming.EnumCase: AnY_cASe, \
+// RUN:   }}" 2>&1 | FileCheck %s --implicit-check-not="{{warning|error}}:"
 
 // CHECK-DAG: warning: invalid configuration value 'camelback' for option 'readability-identifier-naming.FunctionCase'; did you mean 'camelBack'? [clang-tidy-config]
 // CHECK-DAG: warning: invalid configuration value 'UUPER_CASE' for option 'readability-identifier-naming.ClassCase'; did you mean 'UPPER_CASE'? [clang-tidy-config]

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-ignored-regexp.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-ignored-regexp.cpp
index 22a8c7159a99a0..a39b6f10c35271 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-ignored-regexp.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-ignored-regexp.cpp
@@ -1,12 +1,12 @@
 // RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
-// RUN:   -config="{CheckOptions: [ \
-// RUN:     {key: readability-identifier-naming.ParameterCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.ParameterIgnoredRegexp, value: '^[a-z]{1,2}$'}, \
-// RUN:     {key: readability-identifier-naming.ClassCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.ClassIgnoredRegexp, value: '^fo$|^fooo$'}, \
-// RUN:     {key: readability-identifier-naming.StructCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.StructIgnoredRegexp, value: 'sooo|so|soo|$invalidregex['} \
-// RUN:  ]}"
+// RUN:   -config="{CheckOptions: { \
+// RUN:     readability-identifier-naming.ParameterCase: CamelCase, \
+// RUN:     readability-identifier-naming.ParameterIgnoredRegexp: '^[a-z]{1,2}$', \
+// RUN:     readability-identifier-naming.ClassCase: CamelCase, \
+// RUN:     readability-identifier-naming.ClassIgnoredRegexp: '^fo$|^fooo$', \
+// RUN:     readability-identifier-naming.StructCase: CamelCase, \
+// RUN:     readability-identifier-naming.StructIgnoredRegexp: 'sooo|so|soo|$invalidregex[' \
+// RUN:  }}"
 
 int testFunc(int a, char **b);
 int testFunc(int ab, char **ba);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-main-like.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-main-like.cpp
index 514a5612aec2b2..aac0875e4d206c 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-main-like.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-main-like.cpp
@@ -1,8 +1,8 @@
 // RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: readability-identifier-naming.ParameterCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.IgnoreMainLikeFunctions, value: true} \
-// RUN:  ]}'
+// RUN:   -config='{CheckOptions: { \
+// RUN:     readability-identifier-naming.ParameterCase: CamelCase, \
+// RUN:     readability-identifier-naming.IgnoreMainLikeFunctions: true \
+// RUN:  }}'
 
 int mainLike(int argc, char **argv);
 int mainLike(int argc, char **argv, const char **env);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-member-decl-usage.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-member-decl-usage.cpp
index 649bb33d52b2a7..291195e4e1a261 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-member-decl-usage.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-member-decl-usage.cpp
@@ -1,10 +1,10 @@
 // RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: readability-identifier-naming.MemberCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.ParameterCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.MethodCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.AggressiveDependentMemberLookup, value: true} \
-// RUN:  ]}' -- -fno-delayed-template-parsing
+// RUN:   -config='{CheckOptions: { \
+// RUN:     readability-identifier-naming.MemberCase: CamelCase, \
+// RUN:     readability-identifier-naming.ParameterCase: CamelCase, \
+// RUN:     readability-identifier-naming.MethodCase: camelBack, \
+// RUN:     readability-identifier-naming.AggressiveDependentMemberLookup: true \
+// RUN:  }}' -- -fno-delayed-template-parsing
 
 int set_up(int);
 int clear(int);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-multiple-styles.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-multiple-styles.cpp
index 756838c553cde8..8472c59887ef5a 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-multiple-styles.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-multiple-styles.cpp
@@ -11,22 +11,22 @@
 
 // RUN: %check_clang_tidy -check-suffixes=ENABLED,SHARED -std=c++11 %s \
 // RUN: readability-identifier-naming %t -- \
-// RUN:  -config='{ InheritParentConfig: true, CheckOptions: [ \
-// RUN:   {key: readability-identifier-naming.FunctionCase, value: camelBack}, \
-// RUN:   {key: readability-identifier-naming.ParameterCase, value: CamelCase}, \
-// RUN:   {key: readability-identifier-naming.GetConfigPerFile, value: true} \
-// RUN:  ]}' -header-filter='.*' -- -I%theaders
+// RUN:  -config='{ InheritParentConfig: true, CheckOptions: { \
+// RUN:   readability-identifier-naming.FunctionCase: camelBack, \
+// RUN:   readability-identifier-naming.ParameterCase: CamelCase, \
+// RUN:   readability-identifier-naming.GetConfigPerFile: true \
+// RUN:  }}' -header-filter='.*' -- -I%theaders
 
 // On DISABLED run, everything should be made 'camelBack'.
 
 // RUN: cp -R %S/Inputs/identifier-naming/. %theaders
 // RUN: %check_clang_tidy -check-suffixes=DISABLED,SHARED -std=c++11 %s \
 // RUN: readability-identifier-naming %t -- \
-// RUN:  -config='{ InheritParentConfig: false, CheckOptions: [ \
-// RUN:   {key: readability-identifier-naming.FunctionCase, value: camelBack}, \
-// RUN:   {key: readability-identifier-naming.ParameterCase, value: CamelCase}, \
-// RUN:   {key: readability-identifier-naming.GetConfigPerFile, value: false} \
-// RUN:  ]}' -header-filter='.*' -- -I%theaders
+// RUN:  -config='{ InheritParentConfig: false, CheckOptions: { \
+// RUN:   readability-identifier-naming.FunctionCase: camelBack, \
+// RUN:   readability-identifier-naming.ParameterCase: CamelCase, \
+// RUN:   readability-identifier-naming.GetConfigPerFile: false \
+// RUN:  }}' -header-filter='.*' -- -I%theaders
 
 #include "global-style1/header.h"
 #include "global-style2/header.h"

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-objc.m b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-objc.m
index ab123c272022b3..99dd48c4c5aca3 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-objc.m
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-objc.m
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s readability-identifier-naming %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: readability-identifier-naming.ObjcIvarPrefix, value: '_'}]}' \
+// RUN:  {readability-identifier-naming.ObjcIvarPrefix: '_'}}' \
 // RUN: --
 
 @interface Foo {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
index a017fc51d4cbf4..485f0ba1583e8e 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
@@ -2,86 +2,86 @@
 // r288563 is resolved.
 // UNSUPPORTED: target=powerpc64le{{.*}}
 // RUN: %check_clang_tidy -std=c++20 %s readability-identifier-naming %t -- \
-// RUN:   -config='{CheckOptions: [ \
-// RUN:     {key: readability-identifier-naming.AbstractClassCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.AbstractClassPrefix, value: 'A'}, \
-// RUN:     {key: readability-identifier-naming.ClassCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.ClassPrefix, value: 'C'}, \
-// RUN:     {key: readability-identifier-naming.ClassConstantCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.ClassConstantPrefix, value: 'k'}, \
-// RUN:     {key: readability-identifier-naming.ClassMemberCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.ClassMethodCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.ConstantCase, value: UPPER_CASE}, \
-// RUN:     {key: readability-identifier-naming.ConstantSuffix, value: '_CST'}, \
-// RUN:     {key: readability-identifier-naming.ConstexprFunctionCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.ConstexprMethodCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.ConstexprVariableCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.EnumCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.EnumPrefix, value: 'E'}, \
-// RUN:     {key: readability-identifier-naming.ScopedEnumConstantCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.EnumConstantCase, value: UPPER_CASE}, \
-// RUN:     {key: readability-identifier-naming.FunctionCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.GlobalConstantCase, value: UPPER_CASE}, \
-// RUN:     {key: readability-identifier-naming.GlobalFunctionCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.GlobalVariableCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.GlobalVariablePrefix, value: 'g_'}, \
-// RUN:     {key: readability-identifier-naming.InlineNamespaceCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.LocalConstantCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.LocalConstantPrefix, value: 'k'}, \
-// RUN:     {key: readability-identifier-naming.LocalVariableCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.MemberCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.MemberPrefix, value: 'm_'}, \
-// RUN:     {key: readability-identifier-naming.ConstantMemberCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.PrivateMemberPrefix, value: '__'}, \
-// RUN:     {key: readability-identifier-naming.ProtectedMemberPrefix, value: '_'}, \
-// RUN:     {key: readability-identifier-naming.PublicMemberCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.MethodCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.PrivateMethodPrefix, value: '__'}, \
-// RUN:     {key: readability-identifier-naming.ProtectedMethodPrefix, value: '_'}, \
-// RUN:     {key: readability-identifier-naming.NamespaceCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.ParameterCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.ParameterPrefix, value: 'a_'}, \
-// RUN:     {key: readability-identifier-naming.ConstantParameterCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.ConstantParameterPrefix, value: 'i_'}, \
-// RUN:     {key: readability-identifier-naming.ParameterPackCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.PureFunctionCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.PureMethodCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.StaticConstantCase, value: UPPER_CASE}, \
-// RUN:     {key: readability-identifier-naming.StaticVariableCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.StaticVariablePrefix, value: 's_'}, \
-// RUN:     {key: readability-identifier-naming.StructCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.TemplateParameterCase, value: UPPER_CASE}, \
-// RUN:     {key: readability-identifier-naming.TemplateTemplateParameterCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.TemplateUsingCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.TemplateUsingPrefix, value: 'u_'}, \
-// RUN:     {key: readability-identifier-naming.TypeTemplateParameterCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.TypeTemplateParameterSuffix, value: '_t'}, \
-// RUN:     {key: readability-identifier-naming.TypedefCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.TypedefSuffix, value: '_t'}, \
-// RUN:     {key: readability-identifier-naming.UnionCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.UnionPrefix, value: 'U'}, \
-// RUN:     {key: readability-identifier-naming.UsingCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.ValueTemplateParameterCase, value: camelBack}, \
-// RUN:     {key: readability-identifier-naming.VariableCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.VirtualMethodCase, value: Camel_Snake_Case}, \
-// RUN:     {key: readability-identifier-naming.VirtualMethodPrefix, value: 'v_'}, \
-// RUN:     {key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE}, \
-// RUN:     {key: readability-identifier-naming.TypeAliasCase, value: camel_Snake_Back}, \
-// RUN:     {key: readability-identifier-naming.TypeAliasSuffix, value: '_t'}, \
-// RUN:     {key: readability-identifier-naming.IgnoreFailedSplit, value: false}, \
-// RUN:     {key: readability-identifier-naming.GlobalPointerCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.GlobalPointerSuffix, value: '_Ptr'}, \
-// RUN:     {key: readability-identifier-naming.GlobalConstantPointerCase, value: UPPER_CASE}, \
-// RUN:     {key: readability-identifier-naming.GlobalConstantPointerSuffix, value: '_Ptr'}, \
-// RUN:     {key: readability-identifier-naming.PointerParameterCase, value: lower_case}, \
-// RUN:     {key: readability-identifier-naming.PointerParameterPrefix, value: 'p_'}, \
-// RUN:     {key: readability-identifier-naming.ConstantPointerParameterCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.ConstantPointerParameterPrefix, value: 'cp_'}, \
-// RUN:     {key: readability-identifier-naming.LocalPointerCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.LocalPointerPrefix, value: 'l_'}, \
-// RUN:     {key: readability-identifier-naming.LocalConstantPointerCase, value: CamelCase}, \
-// RUN:     {key: readability-identifier-naming.LocalConstantPointerPrefix, value: 'lc_'}, \
-// RUN:   ]}' -- -fno-delayed-template-parsing -Dbad_macro \
+// RUN:   -config='{CheckOptions: { \
+// RUN:     readability-identifier-naming.AbstractClassCase: CamelCase, \
+// RUN:     readability-identifier-naming.AbstractClassPrefix: 'A', \
+// RUN:     readability-identifier-naming.ClassCase: CamelCase, \
+// RUN:     readability-identifier-naming.ClassPrefix: 'C', \
+// RUN:     readability-identifier-naming.ClassConstantCase: CamelCase, \
+// RUN:     readability-identifier-naming.ClassConstantPrefix: 'k', \
+// RUN:     readability-identifier-naming.ClassMemberCase: CamelCase, \
+// RUN:     readability-identifier-naming.ClassMethodCase: camelBack, \
+// RUN:     readability-identifier-naming.ConstantCase: UPPER_CASE, \
+// RUN:     readability-identifier-naming.ConstantSuffix: '_CST', \
+// RUN:     readability-identifier-naming.ConstexprFunctionCase: lower_case, \
+// RUN:     readability-identifier-naming.ConstexprMethodCase: lower_case, \
+// RUN:     readability-identifier-naming.ConstexprVariableCase: lower_case, \
+// RUN:     readability-identifier-naming.EnumCase: CamelCase, \
+// RUN:     readability-identifier-naming.EnumPrefix: 'E', \
+// RUN:     readability-identifier-naming.ScopedEnumConstantCase: CamelCase, \
+// RUN:     readability-identifier-naming.EnumConstantCase: UPPER_CASE, \
+// RUN:     readability-identifier-naming.FunctionCase: camelBack, \
+// RUN:     readability-identifier-naming.GlobalConstantCase: UPPER_CASE, \
+// RUN:     readability-identifier-naming.GlobalFunctionCase: CamelCase, \
+// RUN:     readability-identifier-naming.GlobalVariableCase: lower_case, \
+// RUN:     readability-identifier-naming.GlobalVariablePrefix: 'g_', \
+// RUN:     readability-identifier-naming.InlineNamespaceCase: lower_case, \
+// RUN:     readability-identifier-naming.LocalConstantCase: CamelCase, \
+// RUN:     readability-identifier-naming.LocalConstantPrefix: 'k', \
+// RUN:     readability-identifier-naming.LocalVariableCase: lower_case, \
+// RUN:     readability-identifier-naming.MemberCase: CamelCase, \
+// RUN:     readability-identifier-naming.MemberPrefix: 'm_', \
+// RUN:     readability-identifier-naming.ConstantMemberCase: lower_case, \
+// RUN:     readability-identifier-naming.PrivateMemberPrefix: '__', \
+// RUN:     readability-identifier-naming.ProtectedMemberPrefix: '_', \
+// RUN:     readability-identifier-naming.PublicMemberCase: lower_case, \
+// RUN:     readability-identifier-naming.MethodCase: camelBack, \
+// RUN:     readability-identifier-naming.PrivateMethodPrefix: '__', \
+// RUN:     readability-identifier-naming.ProtectedMethodPrefix: '_', \
+// RUN:     readability-identifier-naming.NamespaceCase: lower_case, \
+// RUN:     readability-identifier-naming.ParameterCase: camelBack, \
+// RUN:     readability-identifier-naming.ParameterPrefix: 'a_', \
+// RUN:     readability-identifier-naming.ConstantParameterCase: camelBack, \
+// RUN:     readability-identifier-naming.ConstantParameterPrefix: 'i_', \
+// RUN:     readability-identifier-naming.ParameterPackCase: camelBack, \
+// RUN:     readability-identifier-naming.PureFunctionCase: lower_case, \
+// RUN:     readability-identifier-naming.PureMethodCase: camelBack, \
+// RUN:     readability-identifier-naming.StaticConstantCase: UPPER_CASE, \
+// RUN:     readability-identifier-naming.StaticVariableCase: camelBack, \
+// RUN:     readability-identifier-naming.StaticVariablePrefix: 's_', \
+// RUN:     readability-identifier-naming.StructCase: lower_case, \
+// RUN:     readability-identifier-naming.TemplateParameterCase: UPPER_CASE, \
+// RUN:     readability-identifier-naming.TemplateTemplateParameterCase: CamelCase, \
+// RUN:     readability-identifier-naming.TemplateUsingCase: lower_case, \
+// RUN:     readability-identifier-naming.TemplateUsingPrefix: 'u_', \
+// RUN:     readability-identifier-naming.TypeTemplateParameterCase: camelBack, \
+// RUN:     readability-identifier-naming.TypeTemplateParameterSuffix: '_t', \
+// RUN:     readability-identifier-naming.TypedefCase: lower_case, \
+// RUN:     readability-identifier-naming.TypedefSuffix: '_t', \
+// RUN:     readability-identifier-naming.UnionCase: CamelCase, \
+// RUN:     readability-identifier-naming.UnionPrefix: 'U', \
+// RUN:     readability-identifier-naming.UsingCase: lower_case, \
+// RUN:     readability-identifier-naming.ValueTemplateParameterCase: camelBack, \
+// RUN:     readability-identifier-naming.VariableCase: lower_case, \
+// RUN:     readability-identifier-naming.VirtualMethodCase: Camel_Snake_Case, \
+// RUN:     readability-identifier-naming.VirtualMethodPrefix: 'v_', \
+// RUN:     readability-identifier-naming.MacroDefinitionCase: UPPER_CASE, \
+// RUN:     readability-identifier-naming.TypeAliasCase: camel_Snake_Back, \
+// RUN:     readability-identifier-naming.TypeAliasSuffix: '_t', \
+// RUN:     readability-identifier-naming.IgnoreFailedSplit: false, \
+// RUN:     readability-identifier-naming.GlobalPointerCase: CamelCase, \
+// RUN:     readability-identifier-naming.GlobalPointerSuffix: '_Ptr', \
+// RUN:     readability-identifier-naming.GlobalConstantPointerCase: UPPER_CASE, \
+// RUN:     readability-identifier-naming.GlobalConstantPointerSuffix: '_Ptr', \
+// RUN:     readability-identifier-naming.PointerParameterCase: lower_case, \
+// RUN:     readability-identifier-naming.PointerParameterPrefix: 'p_', \
+// RUN:     readability-identifier-naming.ConstantPointerParameterCase: CamelCase, \
+// RUN:     readability-identifier-naming.ConstantPointerParameterPrefix: 'cp_', \
+// RUN:     readability-identifier-naming.LocalPointerCase: CamelCase, \
+// RUN:     readability-identifier-naming.LocalPointerPrefix: 'l_', \
+// RUN:     readability-identifier-naming.LocalConstantPointerCase: CamelCase, \
+// RUN:     readability-identifier-naming.LocalConstantPointerPrefix: 'lc_', \
+// RUN:   }}' -- -fno-delayed-template-parsing -Dbad_macro \
 // RUN:   -I%S/Inputs/identifier-naming \
 // RUN:   -isystem %S/Inputs/identifier-naming/system
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-in-conditions.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-in-conditions.cpp
index adae00242d7198..f17b4dcacdb61b 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-in-conditions.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-in-conditions.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s readability-implicit-bool-conversion %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: readability-implicit-bool-conversion.AllowIntegerConditions, value: true}, \
-// RUN:   {key: readability-implicit-bool-conversion.AllowPointerConditions, value: true}]}'
+// RUN:  {readability-implicit-bool-conversion.AllowIntegerConditions: true, \
+// RUN:   readability-implicit-bool-conversion.AllowPointerConditions: true}}'
 
 template<typename T>
 void functionTaking(T);

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-macros.cpp
index 9e55af665207b2..20d2a96d360c10 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-macros.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s readability-inconsistent-declaration-parameter-name %t -- \
-// RUN:   -config="{CheckOptions: [{key: readability-inconsistent-declaration-parameter-name.IgnoreMacros, value: false}]}"
+// RUN:   -config="{CheckOptions: {readability-inconsistent-declaration-parameter-name.IgnoreMacros: false}}"
 
 #define MACRO() \
   void f(int x)

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-strict.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-strict.cpp
index 3930588d269b3b..f5d86a2bed1c36 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-strict.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-declaration-parameter-name-strict.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s readability-inconsistent-declaration-parameter-name %t -- \
-// RUN:   -config="{CheckOptions: [{key: readability-inconsistent-declaration-parameter-name.Strict, value: true}]}"
+// RUN:   -config="{CheckOptions: {readability-inconsistent-declaration-parameter-name.Strict: true}}"
 
 void inconsistentFunction(int a, int b, int c);
 // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function 'inconsistentFunction' has 1 other declaration with 
diff erent parameter names

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-bitfields.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-bitfields.cpp
index 3c1fef939c6389..262ec298854470 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-bitfields.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-bitfields.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s readability-magic-numbers %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: readability-magic-numbers.IgnoredIntegerValues, value: "1;2;10;100;"}]}' \
+// RUN:  {readability-magic-numbers.IgnoredIntegerValues: "1;2;10;100;"}}' \
 // RUN: --
 
 struct HardwareGateway {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers.cpp
index 57547177f52308..740bf20f3d30ab 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers.cpp
@@ -1,10 +1,10 @@
 // RUN: %check_clang_tidy %s readability-magic-numbers %t \
 // RUN: -config='{CheckOptions: \
-// RUN:  [{key: readability-magic-numbers.IgnoredIntegerValues, value: "0;1;2;10;100;"}, \
-// RUN:   {key: readability-magic-numbers.IgnoredFloatingPointValues, value: "3.14;2.71828;9.81;10000.0;101.0;0x1.2p3"}, \
-// RUN:   {key: readability-magic-numbers.IgnoreBitFieldsWidths, value: false}, \
-// RUN:   {key: readability-magic-numbers.IgnorePowersOf2IntegerValues, value: true}, \
-// RUN:   {key: readability-magic-numbers.IgnoreTypeAliases, value: false}]}' \
+// RUN:  {readability-magic-numbers.IgnoredIntegerValues: "0;1;2;10;100;", \
+// RUN:   readability-magic-numbers.IgnoredFloatingPointValues: "3.14;2.71828;9.81;10000.0;101.0;0x1.2p3", \
+// RUN:   readability-magic-numbers.IgnoreBitFieldsWidths: false, \
+// RUN:   readability-magic-numbers.IgnorePowersOf2IntegerValues: true, \
+// RUN:   readability-magic-numbers.IgnoreTypeAliases: false}}' \
 // RUN: --
 
 template <typename T, int V>

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-access-specifiers-check-first-declaration.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-access-specifiers-check-first-declaration.cpp
index ee4fa2e41c8de4..88aecbe3a439a2 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-access-specifiers-check-first-declaration.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-access-specifiers-check-first-declaration.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s readability-redundant-access-specifiers %t -- \
-// RUN:   -config="{CheckOptions: [{key: readability-redundant-access-specifiers.CheckFirstDeclaration, value: true}]}" --
+// RUN:   -config="{CheckOptions: {readability-redundant-access-specifiers.CheckFirstDeclaration: true}}" --
 
 class FooPublic {
 private: // comment-0

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
index 62c4893d69d964..1a124adc55f6a3 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s readability-redundant-declaration %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: readability-redundant-declaration.IgnoreMacros, \
-// RUN:               value: true}]}"
+// RUN:             {readability-redundant-declaration.IgnoreMacros: \
+// RUN:                true}}"
 
 extern int Xyz;
 extern int Xyz; // Xyz

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
index 395839ec3f6f3f..be505f55b86b0f 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
@@ -1,22 +1,22 @@
 // RUN: %check_clang_tidy %s readability-redundant-declaration %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: readability-redundant-declaration.IgnoreMacros, \
-// RUN:               value: false}]}"
+// RUN:             {readability-redundant-declaration.IgnoreMacros: \
+// RUN:                false}}"
 //
 // With -fms-compatibility and -DEXTERNINLINE, the extern inline shouldn't
 // produce additional diagnostics, so same check suffix as before:
 // RUN: %check_clang_tidy %s readability-redundant-declaration %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: readability-redundant-declaration.IgnoreMacros, \
-// RUN:               value: false}]}" -- -fms-compatibility -DEXTERNINLINE
+// RUN:             {readability-redundant-declaration.IgnoreMacros: \
+// RUN:                false}}" -- -fms-compatibility -DEXTERNINLINE
 //
 // With -fno-ms-compatibility, DEXTERNINLINE causes additional output.
 // (The leading ',' means "default checks in addition to NOMSCOMPAT checks.)
 // RUN: %check_clang_tidy -check-suffix=,NOMSCOMPAT \
 // RUN:   %s readability-redundant-declaration %t -- \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: readability-redundant-declaration.IgnoreMacros, \
-// RUN:               value: false}]}" -- -fno-ms-compatibility -DEXTERNINLINE
+// RUN:             {readability-redundant-declaration.IgnoreMacros: \
+// RUN:                false}}" -- -fno-ms-compatibility -DEXTERNINLINE
 
 extern int Xyz;
 extern int Xyz; // Xyz

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
index 905f5c295c8d79..d8ca406581a385 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s readability-redundant-member-init %t \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: readability-redundant-member-init.IgnoreBaseInCopyConstructors, \
-// RUN:               value: true}] \
+// RUN:             {readability-redundant-member-init.IgnoreBaseInCopyConstructors: \
+// RUN:                true} \
 // RUN:             }"
 
 struct S {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get-macros.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get-macros.cpp
index 0a4ac0c93afeae..4c8bb84414355d 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get-macros.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get-macros.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s readability-redundant-smartptr-get %t -- \
-// RUN:   -config="{CheckOptions: [{key: readability-redundant-smartptr-get.IgnoreMacros, value: false}]}"
+// RUN:   -config="{CheckOptions: {readability-redundant-smartptr-get.IgnoreMacros: false}}"
 
 namespace std {
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-init.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-init.cpp
index 92eca27c53f542..1e828488dc1533 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-init.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-init.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s readability-redundant-string-init %t \
 // RUN:   -config="{CheckOptions: \
-// RUN:             [{key: readability-redundant-string-init.StringNames, \
-// RUN:               value: '::std::basic_string;::std::basic_string_view;our::TestString'}] \
+// RUN:             {readability-redundant-string-init.StringNames: \
+// RUN:                '::std::basic_string;::std::basic_string_view;our::TestString'} \
 // RUN:             }"
 
 namespace std {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-assignment.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-assignment.cpp
index 7dcbca5cd9be81..d72f1825a9bec4 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-assignment.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-assignment.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s readability-simplify-boolean-expr %t -- -config="{CheckOptions: [{key: "readability-simplify-boolean-expr.ChainedConditionalAssignment", value: true}]}" --
+// RUN: %check_clang_tidy %s readability-simplify-boolean-expr %t -- -config="{CheckOptions: {readability-simplify-boolean-expr.ChainedConditionalAssignment: true}}" --
 
 void chained_conditional_compound_assignment(int i) {
   bool b;

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-return.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-return.cpp
index ff50528c215f41..fb999352f006a8 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-return.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-return.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s readability-simplify-boolean-expr %t -- -config="{CheckOptions: [{key: "readability-simplify-boolean-expr.ChainedConditionalReturn", value: true}]}" --
+// RUN: %check_clang_tidy %s readability-simplify-boolean-expr %t -- -config="{CheckOptions: {readability-simplify-boolean-expr.ChainedConditionalReturn: true}}" --
 
 bool chained_conditional_compound_return(int i) {
   if (i < 0) {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-demorgan.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-demorgan.cpp
index 6787273daa8c5c..bab9e17a7775b2 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-demorgan.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-demorgan.cpp
@@ -2,13 +2,13 @@
 
 // Check when we can convert !(A Op B) -> !A InvOp !B.
 // RUN: %check_clang_tidy -check-suffixes=",RELAXED" %s \
-// RUN: readability-simplify-boolean-expr %t -- -config="{CheckOptions: [{ \
-// RUN: key: "readability-simplify-boolean-expr.SimplifyDeMorganRelaxed", value: true}]}" --
+// RUN: readability-simplify-boolean-expr %t -- -config="{CheckOptions: { \
+// RUN: readability-simplify-boolean-expr.SimplifyDeMorganRelaxed: true}}" --
 
 // Verify warning issued when invalid options are specified.
-// RUN: clang-tidy %s -checks=-*,readability-simplify-boolean-expr -config="{CheckOptions: [ \
-// RUN:   {key: readability-simplify-boolean-expr.SimplifyDeMorgan, value: false}, \
-// RUN:   {key: readability-simplify-boolean-expr.SimplifyDeMorganRelaxed, value: true}]}" \
+// RUN: clang-tidy %s -checks=-*,readability-simplify-boolean-expr -config="{CheckOptions: { \
+// RUN:   readability-simplify-boolean-expr.SimplifyDeMorgan: false, \
+// RUN:   readability-simplify-boolean-expr.SimplifyDeMorganRelaxed: true}}" \
 // RUN: -- 2>&1 | FileCheck %s -check-prefix=CHECK-BAD-CONFIG \
 // RUN:       -implicit-check-not="{{warning|error}}:"
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-subscript-expr.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-subscript-expr.cpp
index 16197dcda67ad6..e5ad6f96def7d7 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-subscript-expr.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/simplify-subscript-expr.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s readability-simplify-subscript-expr %t \
 // RUN: -config="{CheckOptions: \
-// RUN: [{key: readability-simplify-subscript-expr.Types, \
-// RUN:   value: '::std::basic_string;::std::basic_string_view;MyVector'}]}" --
+// RUN: {readability-simplify-subscript-expr.Types: \
+// RUN:    '::std::basic_string;::std::basic_string_view;MyVector'}}" --
 
 namespace std {
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance-nesting-threshold.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance-nesting-threshold.cpp
index 03752497b405f6..ee35e247532dbc 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance-nesting-threshold.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance-nesting-threshold.cpp
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s readability-static-accessed-through-instance %t -- -config="{CheckOptions: [{key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold, value: 4}]}" --
+// RUN: %check_clang_tidy %s readability-static-accessed-through-instance %t -- -config="{CheckOptions: {readability-static-accessed-through-instance.NameSpecifierNestingThreshold: 4}}" --
 
 // Nested specifiers
 namespace M {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/uniqueptr-delete-release.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/uniqueptr-delete-release.cpp
index 3ae66239e3fa0d..6da0ad4dbcc135 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/uniqueptr-delete-release.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/uniqueptr-delete-release.cpp
@@ -1,6 +1,6 @@
 // RUN: %check_clang_tidy %s readability-uniqueptr-delete-release %t -check-suffix=NULLPTR
 // RUN: %check_clang_tidy %s readability-uniqueptr-delete-release %t -check-suffix=RESET -config='{ \
-// RUN: CheckOptions: [{key: readability-uniqueptr-delete-release.PreferResetCall, value: true}]}'
+// RUN: CheckOptions: {readability-uniqueptr-delete-release.PreferResetCall: true}}'
 namespace std {
 template <typename T>
 struct default_delete {};

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
index 5ee09527999ebd..58e88381e21ea3 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
@@ -1,7 +1,7 @@
-// RUN: %check_clang_tidy %s readability-uppercase-literal-suffix %t -- -config="{CheckOptions: [{key: readability-uppercase-literal-suffix.NewSuffixes, value: 'L;uL'}]}" -- -I %clang_tidy_headers
+// RUN: %check_clang_tidy %s readability-uppercase-literal-suffix %t -- -config="{CheckOptions: {readability-uppercase-literal-suffix.NewSuffixes: 'L;uL'}}" -- -I %clang_tidy_headers
 // RUN: grep -Ev "// *[A-Z-]+:" %s > %t.cpp
-// RUN: clang-tidy %t.cpp -checks='-*,readability-uppercase-literal-suffix' -fix -config="{CheckOptions: [{key: readability-uppercase-literal-suffix.NewSuffixes, value: 'L;uL'}]}" -- -I %clang_tidy_headers
-// RUN: clang-tidy %t.cpp -checks='-*,readability-uppercase-literal-suffix' -warnings-as-errors='-*,readability-uppercase-literal-suffix' -config="{CheckOptions: [{key: readability-uppercase-literal-suffix.NewSuffixes, value: 'L;uL'}]}" -- -I %clang_tidy_headers
+// RUN: clang-tidy %t.cpp -checks='-*,readability-uppercase-literal-suffix' -fix -config="{CheckOptions: {readability-uppercase-literal-suffix.NewSuffixes: 'L;uL'}}" -- -I %clang_tidy_headers
+// RUN: clang-tidy %t.cpp -checks='-*,readability-uppercase-literal-suffix' -warnings-as-errors='-*,readability-uppercase-literal-suffix' -config="{CheckOptions: {readability-uppercase-literal-suffix.NewSuffixes: 'L;uL'}}" -- -I %clang_tidy_headers
 
 #include "integral_constant.h"
 

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-macro.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-macro.cpp
index 7679094be71077..b1d403591680e6 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-macro.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-macro.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s readability-uppercase-literal-suffix %t -- \
-// RUN:   -config="{CheckOptions: [{key: readability-uppercase-literal-suffix.IgnoreMacros, value: false}]}" \
+// RUN:   -config="{CheckOptions: {readability-uppercase-literal-suffix.IgnoreMacros: false}}" \
 // RUN:   -- -I %S
 
 void macros() {

diff  --git a/clang-tools-extra/test/clang-tidy/checkers/zircon/temporary-objects.cpp b/clang-tools-extra/test/clang-tidy/checkers/zircon/temporary-objects.cpp
index 6090fe9e9acfc4..678992aa503266 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/zircon/temporary-objects.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/zircon/temporary-objects.cpp
@@ -1,5 +1,5 @@
 // RUN: %check_clang_tidy %s zircon-temporary-objects %t -- \
-// RUN:   -config="{CheckOptions: [{key: zircon-temporary-objects.Names, value: 'Foo;NS::Bar'}]}" \
+// RUN:   -config="{CheckOptions: {zircon-temporary-objects.Names: 'Foo;NS::Bar'}}" \
 // RUN:   -header-filter=.*
 
 // Should flag instances of Foo, NS::Bar.

diff  --git a/clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp b/clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
index 67ef3f39522621..b9577d000ac0ba 100644
--- a/clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
+++ b/clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
@@ -1,7 +1,7 @@
 // RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-member-init,hicpp-member-init,modernize-use-emplace,hicpp-use-emplace %t -- \
-//// RUN:     -config='{CheckOptions: [ \
-//// RUN:         {key: cppcoreguidelines-pro-type-member-init.UseAssignment, value: true}, \
-//// RUN:     ]}'
+//// RUN:     -config='{CheckOptions: { \
+//// RUN:         cppcoreguidelines-pro-type-member-init.UseAssignment: true, \
+//// RUN:     }}'
 
 class Foo {
 public:

diff  --git a/clang-tools-extra/test/clang-tidy/infrastructure/expand-modular-headers-ppcallbacks.cpp b/clang-tools-extra/test/clang-tidy/infrastructure/expand-modular-headers-ppcallbacks.cpp
index 0422a5cc1b8d75..4d1ca669b8d031 100644
--- a/clang-tools-extra/test/clang-tidy/infrastructure/expand-modular-headers-ppcallbacks.cpp
+++ b/clang-tools-extra/test/clang-tidy/infrastructure/expand-modular-headers-ppcallbacks.cpp
@@ -3,8 +3,8 @@
 // RUN: mkdir %t
 // RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
 // RUN: %check_clang_tidy -std=c++11 %s readability-identifier-naming %t/without-modules -- \
-// RUN:   -config="CheckOptions: [{ \
-// RUN:      key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
+// RUN:   -config="CheckOptions: { \
+// RUN:      readability-identifier-naming.MacroDefinitionCase: UPPER_CASE }" \
 // RUN:   -header-filter=.* --enable-module-headers-parsing \
 // RUN:   -- -I %t/
 //
@@ -12,8 +12,8 @@
 // RUN: mkdir %t
 // RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
 // RUN: %check_clang_tidy -std=c++17 %s readability-identifier-naming %t/without-modules -- \
-// RUN:   -config="CheckOptions: [{ \
-// RUN:      key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
+// RUN:   -config="CheckOptions: { \
+// RUN:      readability-identifier-naming.MacroDefinitionCase: UPPER_CASE }" \
 // RUN:   -header-filter=.* --enable-module-headers-parsing \
 // RUN:   -- -I %t/
 //
@@ -23,8 +23,8 @@
 // RUN: mkdir %t
 // RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
 // RUN: %check_clang_tidy -std=c++11 %s readability-identifier-naming %t/with-modules -- \
-// RUN:   -config="CheckOptions: [{ \
-// RUN:      key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
+// RUN:   -config="CheckOptions: { \
+// RUN:      readability-identifier-naming.MacroDefinitionCase: UPPER_CASE }" \
 // RUN:   -header-filter=.* --enable-module-headers-parsing \
 // RUN:   -- -I %t/ \
 // RUN:   -fmodules -fimplicit-modules -fno-implicit-module-maps \
@@ -35,8 +35,8 @@
 // RUN: mkdir %t
 // RUN: cp %S/Inputs/expand-modular-headers-ppcallbacks/* %t/
 // RUN: %check_clang_tidy -std=c++17 %s readability-identifier-naming %t/with-modules -- \
-// RUN:   -config="CheckOptions: [{ \
-// RUN:      key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }]" \
+// RUN:   -config="CheckOptions: { \
+// RUN:      readability-identifier-naming.MacroDefinitionCase: UPPER_CASE }" \
 // RUN:   -header-filter=.* --enable-module-headers-parsing \
 // RUN:   -- -I %t/ \
 // RUN:   -fmodules -fimplicit-modules -fno-implicit-module-maps \

diff  --git a/clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy.cpp b/clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy.cpp
index 0d0e41e022aeba..505ee28ed7120d 100644
--- a/clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy.cpp
+++ b/clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy.cpp
@@ -5,8 +5,7 @@
 // RUN: echo "Checks: '-*,modernize-use-auto'" > %t/.clang-tidy
 // RUN: echo "WarningsAsErrors: '*'" >> %t/.clang-tidy
 // RUN: echo "CheckOptions:" >> %t/.clang-tidy
-// RUN: echo "  - key:             modernize-use-auto.MinTypeNameLength" >> %t/.clang-tidy
-// RUN: echo "    value:           '0'" >> %t/.clang-tidy
+// RUN: echo "  modernize-use-auto.MinTypeNameLength: '0'" >> %t/.clang-tidy
 // RUN: cp "%s" "%t/test.cpp"
 // RUN: cd "%t"
 // RUN: not %run_clang_tidy "test.cpp"

diff  --git a/clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer-config.cpp b/clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer-config.cpp
index d07c0c3aa2d404..725f87717346ca 100644
--- a/clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer-config.cpp
+++ b/clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer-config.cpp
@@ -1,5 +1,5 @@
 // REQUIRES: static-analyzer
-// RUN: clang-tidy %s -checks='-*,clang-analyzer-unix.Malloc' -config='{CheckOptions: [{ key: "clang-analyzer-unix.DynamicMemoryModeling:Optimistic", value: true}]}' -- | FileCheck %s
+// RUN: clang-tidy %s -checks='-*,clang-analyzer-unix.Malloc' -config='{CheckOptions: { "clang-analyzer-unix.DynamicMemoryModeling:Optimistic": true}}' -- | FileCheck %s
 typedef __typeof(sizeof(int)) size_t;
 void *malloc(size_t);
 void free(void *);

diff  --git a/clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp b/clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
index e127c23cc328a8..421f8641281acb 100644
--- a/clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
+++ b/clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
@@ -5,10 +5,10 @@
 // RUN: --checks='-*,bad*glob,llvm*,llvm-includeorder,my-made-up-check' --config='{Checks: "readability-else-after-ret", \
 // RUN: HeaderFileExtensions: ["h", "hh", "hpp"], \
 // RUN: ImplementationFileExtensions: ["c", "cc", "hpp"], \
-// RUN: CheckOptions: [{key: "IgnoreMacros", value: "true"}, \
-// RUN:                {key: "StriceMode", value: "true"}, \
-// RUN:                {key: modernize-lop-convert.UseCxx20ReverseRanges, value: true} \
-// RUN:               ]}' 2>&1 | FileCheck %s \
+// RUN: CheckOptions: {IgnoreMacros: true, \
+// RUN:                StriceMode: true, \
+// RUN:                modernize-lop-convert.UseCxx20ReverseRanges: true \
+// RUN:               }}' 2>&1 | FileCheck %s \
 // RUN: -check-prefix=CHECK-VERIFY -implicit-check-not='{{warning|error}}:'
 
 // CHECK-VERIFY-DAG: command-line option '-config': warning: unknown check 'readability-else-after-ret'; did you mean 'readability-else-after-return' [-verify-config]


        


More information about the cfe-commits mailing list