1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/unittests
Markus Böck baebf92a2b [Support][Windows] Make sure only executables are found by sys::findProgramByName
The function utilizes Windows' SearchPathW function, which as I found out today, may also return directories. After looking at the Unix implementation of the file I found that it contains a check whether the found path is also executable. While fixing the Windows implementation, I also learned that sys::fs::access returns successfully when querying whether directories are executable, which the Unix version does not.

This patch makes both of these functions equivalent to their Unix implementation and insures that any path returned by sys::findProgramByName on Windows may only be executable, just like the Unix implementation.

The equivalent additions I have made to the Windows implementation, in the Unix implementation are here:
sys::findProgramByName: 39ecfe6143/llvm/lib/Support/Unix/Program.inc (L90)
sys::fs::access: c2a84771bb/llvm/lib/Support/Unix/Path.inc (L608)

I encountered this issue when running the LLVM testsuite. Commands of the form not test ... would fail to correctly execute test.exe, which is part of GnuWin32, as it actually tried to execute a folder called test, which happened to be in a directory on my PATH.

Differential Revision: https://reviews.llvm.org/D99357
2021-03-25 20:29:43 +01:00
..
ADT Introduce a generic operator to apply complex operations to BitVector 2021-03-23 14:23:26 +01:00
Analysis [SCEV] Improve handling of not expressions in isImpliedCond() 2021-03-24 21:53:02 +01:00
AsmParser
BinaryFormat
Bitcode [AMDGPU] Set the default globals address space to 1 2020-11-20 15:46:53 +00:00
Bitstream Switch from llvm::is_trivially_copyable to std::is_trivially_copyable 2020-12-02 22:02:48 -08:00
CodeGen [IR][SVE] Add new llvm.experimental.stepvector intrinsic 2021-03-23 10:43:35 +00:00
DebugInfo [Test][DebugInfo] Check for backend object emission support. 2021-03-18 09:51:00 +00:00
Demangle * Fix demangling of optional template-args for vendor extended type qualifier. 2021-03-24 10:21:32 +04:00
ExecutionEngine [JITLink] Remove redundant local variable definitions from a unit test. 2021-03-19 18:29:36 -07:00
FileCheck [FileCheck] Fix PR49531: invalid use of string var 2021-03-24 18:49:58 +00:00
Frontend [UnitTests] Remove uses of deprecated CreateLoad() API 2021-03-11 19:05:53 +01:00
FuzzMutate [FuzzMutate] Add mutator to modify instruction flags. 2021-01-23 19:05:20 +00:00
InterfaceStub [llvm] Fix ODRViolations for VersionTuple YAML specializations NFC 2020-10-20 18:29:15 -07:00
IR Verify that MDNodes belong to the same context as the Module. 2021-03-24 12:38:05 -07:00
LineEditor
Linker [RGT] Recode more unreachable assertions and tautologies 2021-03-19 09:17:22 -07:00
MC [AsmParser][SystemZ][z/OS] Re-introduce HLASM comment syntax 2021-03-24 10:17:00 -04:00
MI [AMDGPU] Rename amdgcn_wwm to amdgcn_strict_wwm 2021-03-03 09:33:57 +01:00
Object [llvm-readelf] Support dumping the BB address map section with --bb-addr-map. 2021-03-08 16:20:11 -08:00
ObjectYAML
Option [clang][cli] Accept strings instead of options in ImpliedByAnyOf 2021-01-26 09:30:36 +01:00
Passes
ProfileData [SampleFDO] Support enabling -funique-internal-linkage-name. 2021-03-09 21:41:40 -08:00
Remarks
Support [Support][Windows] Make sure only executables are found by sys::findProgramByName 2021-03-25 20:29:43 +01:00
TableGen [TableGen] Eliminte source location from CodeInit 2020-11-23 11:30:13 -05:00
Target [ARM] Remove new ARMSelectionDAGTest unittest. 2021-03-04 10:14:35 +00:00
TextAPI [llvm][TextAPI] add equality operator for InterfaceFile 2021-02-18 11:53:08 -08:00
tools Renovate CMake files in the llvm-exegesis tool. 2021-02-10 14:22:55 -05:00
Transforms [NFC][VPlan] Guard print routines with "#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)" 2021-03-19 10:50:12 -07:00
XRay
CMakeLists.txt
unittest.cfg.in