diff options
Diffstat (limited to 'netfs/unittests/mockMount.h')
-rw-r--r-- | netfs/unittests/mockMount.h | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/netfs/unittests/mockMount.h b/netfs/unittests/mockMount.h index 2eaad82..8495718 100644 --- a/netfs/unittests/mockMount.h +++ b/netfs/unittests/mockMount.h @@ -9,25 +9,36 @@ inline const std::filesystem::path mntpnt {binDir / "mnt"}; -class DLL_PUBLIC FuseMountPoint : public MockDaemonHost, public NetFS::FuseApp { +class DLL_PUBLIC MockFuseApp : public NetFS::FuseApp { public: - FuseMountPoint(); - - void start(); - - ~FuseMountPoint() override; - - void stop(); - - SPECIAL_MEMBERS_DELETE(FuseMountPoint); + MockFuseApp(); + ~MockFuseApp() override; + SPECIAL_MEMBERS_DELETE(MockFuseApp); struct fuse_context * fuse_get_context() override; - static char * vstrdupf(const char * fmt, va_list args); - void vlogf(int, const char * fmt, va_list args) const noexcept override; - + const auto & + getStatCache() const + { + return statCache; + } + +private: + friend class FuseMountPoint; + static char * vstrdupf(const char * fmt, va_list args); struct fuse * fs; struct fuse_args fargs; - std::unique_ptr<std::thread> th; +}; + +class DLL_PUBLIC FuseMountPoint : public MockDaemonHost { +public: + FuseMountPoint(); + ~FuseMountPoint(); + SPECIAL_MEMBERS_DELETE(FuseMountPoint); + + MockFuseApp fuseApp; + +private: + std::optional<std::thread> th; }; |