[llvm-cov][test] Add test coverage for "gcov" implying "llvm-cov gcov" compatibility.
authorJordan Rupprecht <rupprecht@google.com>
Wed, 12 May 2021 01:36:53 +0000 (18:36 -0700)
committerJordan Rupprecht <rupprecht@google.com>
Wed, 12 May 2021 15:21:42 +0000 (08:21 -0700)
Much like other LLVM binary utilities, `llvm-cov` has a symlink compatibility feature where it runs in `gcov` compatibility mode if the binary name ends in `gcov`. This is identical to invoking `llvm-cov gcov ...`.

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

llvm/test/tools/llvm-cov/tool-name.test [new file with mode: 0644]

diff --git a/llvm/test/tools/llvm-cov/tool-name.test b/llvm/test/tools/llvm-cov/tool-name.test
new file mode 100644 (file)
index 0000000..302cd1a
--- /dev/null
@@ -0,0 +1,26 @@
+## Don't make symlinks on Windows.
+# UNSUPPORTED: system-windows
+
+# RUN: rm -rf %t
+# RUN: mkdir %t
+
+## By default, assume llvm-cov.
+# RUN: ln -s llvm-cov %t/llvm-foo
+
+# RUN: llvm-cov --help 2>&1 | FileCheck --check-prefix=COV %s
+# RUN: %t/llvm-foo --help 2>&1 | FileCheck --check-prefix=COV %s
+
+# COV: Shows code coverage information.
+# COV: Subcommands:
+
+## If the filename ends in "gcov", assume gcov compatibility.
+# RUN: ln -s llvm-cov %t/llvm-gcov
+# RUN: ln -s llvm-cov %t/gcov
+
+# RUN: %t/llvm-gcov --help 2>&1 | FileCheck --check-prefix=GCOV %s
+# RUN: %t/gcov --help 2>&1 | FileCheck --check-prefix=GCOV %s
+# RUN: llvm-cov gcov --help 2>&1 | FileCheck --check-prefix=GCOV %s
+
+# GCOV: OVERVIEW: LLVM code coverage tool
+# GCOV: --gcda{{.*}}Override inferred gcda file
+# GCOV: --gcno{{.*}}Override inferred gcno file