Files
clang-p2996/clang/test/utils/update_cc_test_checks/mangled_names.test
Nikita Popov fb309041f0 [UTC] Enable --function-signature by default
This patch enables --function-signature by default under --version 2
and makes --version 2 the default. This means that all newly created
tests will check the function signature, while leaving old tests alone.

There's two motivations for this change:

* Without --function-signature, the generated check lines may fail
  in a very hard to understand way if the test both includes a
  function definition and a call to that function. (Though we could
  address this by making the CHECK-LABEL stricter, without checking
  the full signature.)
* This actually checks that uses of the arguments in the function
  body use the correct argument, instead of matching against any
  variable.

This is a replacement for D139006 and D140212 based on the
--version mechanism.

I did not include an opt-out flag --no-function-signature because
I'm not sure we need it. Would be happy to include it though,
if desired.

Differential Revision: https://reviews.llvm.org/D145149
2023-03-07 10:27:52 +01:00

27 lines
1.4 KiB
Plaintext

## Basic test checking that update_cc_test_checks.py works as expected for
## functions with mangled names
# RUN: cp -f %S/Inputs/mangled_names.c %t.c && %update_cc_test_checks -v %t.c
# RUN: diff -u %t.c %S/Inputs/mangled_names.c.expected
## Check that running the script again does not change the result:
# RUN: %update_cc_test_checks -v %t.c
# RUN: diff -u %t.c %S/Inputs/mangled_names.c.expected
## Also try the --function-signature flag
# RUN: %update_cc_test_checks %t.c --function-signature
# RUN: diff -u %t.c %S/Inputs/mangled_names.c.funcsig.expected
## Running it again should implicitly add the function-signature flag due to UTC_ARGS:
# RUN: %update_cc_test_checks %t.c
# RUN: diff -u %t.c %S/Inputs/mangled_names.c.funcsig.expected
## Verify that running without the --function-signature flag removes the -SAME: lines:
## We have to remove the UTC_ARGS comment first:
# RUN: grep -v UTC_ARGS %t.c > %t-no-args.c
# RUN: %update_cc_test_checks %t-no-args.c
# RUN: diff -u %t-no-args.c %S/Inputs/mangled_names.c.expected
## Also try --version 2
# RUN: %update_cc_test_checks %t.c --function-signature --version 2
# RUN: diff -u %t.c %S/Inputs/mangled_names.c.funcsig.v2.expected
## Restore the original file without --function-signature and check that
## --version 2 will implicitly enable it.
# RUN: cp -f %S/Inputs/mangled_names.c %t.c
# RUN: %update_cc_test_checks %t.c --version 2
# RUN: diff -u %t.c %S/Inputs/mangled_names.c.v2.expected