enh(ProcessRunner): does not detect launch errors #4482 (#4483)

* enh(ProcessRunner): does not detect launch errors #4482

* enh(File): add absolutePath and existsAnywhere() #4482

* fix windows build and tsan fail

* fix tsan

* fix windows file tests

* comment out some CI env path -related issues

* fix tsan and windows build

* try to fix ci

* ignore ProcessRunner test fail on windows cmake

* enh(File): canExecute throws FileNotFoundException if the file to be executed can't be found in the path.

* Few C++ modernisation changes.

* enh(File): Windows specifics of File::canExecute. Returns false if the file to be executed can't be found using absolutePath.

---------

Co-authored-by: Matej Kenda <matejken@gmail.com>
This commit is contained in:
Aleksandar Fabijanic
2024-07-29 13:16:18 -05:00
committed by GitHub
parent f24547cdcf
commit 3656f069e1
20 changed files with 361 additions and 37 deletions

View File

@@ -19,6 +19,7 @@
#include "Poco/Foundation.h"
#include "Poco/Timestamp.h"
namespace Poco {
@@ -32,7 +33,7 @@ protected:
OPT_FAIL_ON_OVERWRITE_IMPL = 0x01
};
typedef UInt64 FileSizeImpl;
using FileSizeImpl = UInt64;
FileImpl();
FileImpl(const std::string& path);
@@ -40,10 +41,11 @@ protected:
void swapImpl(FileImpl& file);
void setPathImpl(const std::string& path);
const std::string& getPathImpl() const;
std::string getExecutablePathImpl() const;
bool existsImpl() const;
bool canReadImpl() const;
bool canWriteImpl() const;
bool canExecuteImpl() const;
bool canExecuteImpl(const std::string& absolutePath) const;
bool isFileImpl() const;
bool isDirectoryImpl() const;
bool isLinkImpl() const;