[llvm] [llvm] Add a tool to check mustache compliance against the public spec (PR #142813)
Paul Kirth via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 5 13:17:41 PDT 2025
================
@@ -0,0 +1,157 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// Simple drivers to test the mustache spec found at
+// https://github.com/mustache/
+//
+// It is used to verify that the current implementation conforms to the spec.
+// Simply download the spec and pass the test files to the driver.
+//
+// The current implementation only supports non-optional parts of the spec, so
+// we do not expect any of the dynamic-names, inheritance, or lambda tests to
+// pass. Additionally, Triple Mustache is not supported, so we expect the
+// following tests to fail:
+// Triple Mustache
+// Triple Mustache Integer Interpolation
+// Triple Mustache Decimal Interpolation
+// Triple Mustache Null Interpolation
+// Triple Mustache Context Miss Interpolation
+// Dotted Names - Triple Mustache Interpolation
+// Implicit Iterators - Triple Mustache
+// Triple Mustache - Surrounding Whitespace
+// Triple Mustache - Standalone
+// Triple Mustache With Padding
+// Standalone Indentation
+// Implicit Iterator - Triple mustache
----------------
ilovepi wrote:
Yeah, I agree that would be nice. The current implementation is more of a direct runner for the spec file tests. That's nice, since it keeps things simple, but that also means there isn't a good way to mark something as XFAIL, since we're loading the test files individually at runtime.
I guess we could keep a list of test names that are expected to fail and report them if they match ... I'll try that, since it seems to not require too many changes from the current design.
https://github.com/llvm/llvm-project/pull/142813
More information about the llvm-commits
mailing list