diff options
| author | Joel E. Denny <jdenny.ornl@gmail.com> | 2019-08-19 22:59:37 +0000 |
|---|---|---|
| committer | Joel E. Denny <jdenny.ornl@gmail.com> | 2019-08-19 22:59:37 +0000 |
| commit | 971a9f7eea31c6b27bf798cc8c39ede1dae8f0d2 (patch) | |
| tree | 2f372a4cdb82fe225f8bd650f156f6470b2fa8db /llvm/utils/lit/tests/Inputs | |
| parent | 3f3a2573c307c4399aa3bc211cfb4d3e148798f5 (diff) | |
| download | bcm5719-llvm-971a9f7eea31c6b27bf798cc8c39ede1dae8f0d2.tar.gz bcm5719-llvm-971a9f7eea31c6b27bf798cc8c39ede1dae8f0d2.zip | |
[lit] Check for accidental external command calls
This patch extends lit's test suite to check that lit's internal shell
doesn't accidentally execute internal commands as external commands.
It does so by putting fake failing versions of those commands in
`PATH` while the entire lit test suite is running. Without the fixes
in D65697 but with its tests, this approach catches accidental
external `env` calls.
Reviewed By: probinson
Differential Revision: https://reviews.llvm.org/D66293
llvm-svn: 369309
Diffstat (limited to 'llvm/utils/lit/tests/Inputs')
7 files changed, 37 insertions, 0 deletions
diff --git a/llvm/utils/lit/tests/Inputs/fake-externals/cd b/llvm/utils/lit/tests/Inputs/fake-externals/cd new file mode 100755 index 00000000000..9d9612dca4d --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/fake-externals/cd @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import fake_external + +fake_external.execute(__file__) diff --git a/llvm/utils/lit/tests/Inputs/fake-externals/diff b/llvm/utils/lit/tests/Inputs/fake-externals/diff new file mode 100755 index 00000000000..9d9612dca4d --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/fake-externals/diff @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import fake_external + +fake_external.execute(__file__) diff --git a/llvm/utils/lit/tests/Inputs/fake-externals/env b/llvm/utils/lit/tests/Inputs/fake-externals/env new file mode 100755 index 00000000000..9d9612dca4d --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/fake-externals/env @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import fake_external + +fake_external.execute(__file__) diff --git a/llvm/utils/lit/tests/Inputs/fake-externals/export b/llvm/utils/lit/tests/Inputs/fake-externals/export new file mode 100755 index 00000000000..9d9612dca4d --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/fake-externals/export @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import fake_external + +fake_external.execute(__file__) diff --git a/llvm/utils/lit/tests/Inputs/fake-externals/fake_external.py b/llvm/utils/lit/tests/Inputs/fake-externals/fake_external.py new file mode 100644 index 00000000000..1fdc2ee063c --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/fake-externals/fake_external.py @@ -0,0 +1,7 @@ +import os +import sys + +def execute(fileName): + sys.stderr.write("error: external '{}' command called unexpectedly\n" + .format(os.path.basename(fileName))); + sys.exit(1) diff --git a/llvm/utils/lit/tests/Inputs/fake-externals/mkdir b/llvm/utils/lit/tests/Inputs/fake-externals/mkdir new file mode 100755 index 00000000000..9d9612dca4d --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/fake-externals/mkdir @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import fake_external + +fake_external.execute(__file__) diff --git a/llvm/utils/lit/tests/Inputs/fake-externals/rm b/llvm/utils/lit/tests/Inputs/fake-externals/rm new file mode 100755 index 00000000000..9d9612dca4d --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/fake-externals/rm @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import fake_external + +fake_external.execute(__file__) |

