#pragma once
#ifndef MESSMER_FSPP_TEST_FUSE_OPENFILE_TESTUTILS_FUSEOPENTEST_H_
#define MESSMER_FSPP_TEST_FUSE_OPENFILE_TESTUTILS_FUSEOPENTEST_H_

#include "../../../testutils/FuseTest.h"

class FuseOpenTest: public FuseTest {
public:
  const char *FILENAME = "/myfile";

  int OpenFile(const char *FILENAME, int flags);
  int OpenFileReturnError(const char *FILENAME, int flags);
private:
  int OpenFileAllowError(const char *FILENAME, int flags);
};

MATCHER_P(OpenFlagsEq, expectedFlags, "") {
  return expectedFlags == (O_ACCMODE & arg);
}

#endif
