summaryrefslogtreecommitdiff
path: root/netfs/unittests/mockMount.h
diff options
context:
space:
mode:
Diffstat (limited to 'netfs/unittests/mockMount.h')
-rw-r--r--netfs/unittests/mockMount.h39
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;
};