* limitations under the License.
*/
+#include <cynara_test_commons.h>
#include <cynara_test_env.h>
#include <tests_common.h>
#include <dbus_access.h>
typedef CStringPtr PwBufPtr;
-DEFINE_SMARTPTR(closedir, DIR, DirPtr);
-
-const std::string cynaraDbDir = CYNARA_DB_DIR;
-const std::string tmpDir = "/tmp/";
-const std::string cynaraUser = "cynara";
-const std::string cynaraLabel = "System";
-
int removeContents(const char *fpath, const struct stat * /*sb*/,
int tflag, struct FTW * /*ftwbuf*/)
{
PwBufPtr pwBufPtr(buf);
struct passwd pwbuf, *pwbufp = nullptr;
- int ret = TEMP_FAILURE_RETRY(getpwnam_r(cynaraUser.c_str(),
+ int ret = TEMP_FAILURE_RETRY(getpwnam_r(CynaraTestConsts::USER.c_str(),
&pwbuf, buf, buflen, &pwbufp));
- RUNNER_ASSERT_ERRNO_MSG(ret == 0, "getpwnam_r failed on " << cynaraUser << " user");
- RUNNER_ASSERT_MSG(pwbufp, "User " << cynaraUser << " does not exist");
+ RUNNER_ASSERT_ERRNO_MSG(ret == 0, "getpwnam_r failed on " << CynaraTestConsts::USER << " user");
+ RUNNER_ASSERT_MSG(pwbufp, "User " << CynaraTestConsts::USER << " does not exist");
ret = fchown(outFd, pwbufp->pw_uid, pwbufp->pw_gid);
RUNNER_ASSERT_ERRNO_MSG(ret != -1, "fchown failed");
- ret = smack_fsetlabel(outFd, cynaraLabel.c_str(), SMACK_LABEL_ACCESS);
+ ret = smack_fsetlabel(outFd, CynaraTestConsts::LABEL.c_str(), SMACK_LABEL_ACCESS);
RUNNER_ASSERT_MSG(ret == 0, "Setting smack label failed");
struct stat statSrc;
bool cynaraDbExists()
{
struct stat st;
- int ret = stat(cynaraDbDir.c_str(), &st);
+ int ret = stat(CynaraTestConsts::DB_DIR.c_str(), &st);
if (ret == -1 && errno == ENOENT) {
return false;
} else if (ret == -1) {
- RUNNER_ASSERT_ERRNO_MSG(false, "Cannot stat " << cynaraDbDir
+ RUNNER_ASSERT_ERRNO_MSG(false, "Cannot stat " << CynaraTestConsts::DB_DIR
<< " not due to its nonexistence");
}
- RUNNER_ASSERT_MSG(st.st_mode & S_IFDIR, cynaraDbDir << " is not a directory");
+ RUNNER_ASSERT_MSG(st.st_mode & S_IFDIR, CynaraTestConsts::DB_DIR << " is not a directory");
return true;
}
CynaraTestEnv::CynaraTestEnv(const char *dirName)
: m_dbPresent(false)
{
- m_dir = tmpDir + dirName;
+ m_dir = TMP_DIR + "/" + dirName;
}
CynaraTestEnv::~CynaraTestEnv()
clear(m_dir);
removeDirIfExists(m_dir);
- DBusAccess dbusAccess("cynara.service");
+ DBusAccess dbusAccess(CynaraTestConsts::SERVICE.c_str());
dbusAccess.maskService();
dbusAccess.stopService();
if (m_dbPresent) {
RUNNER_ASSERT_ERRNO_MSG(!mkdir(m_dir.c_str(), S_IRWXU | S_IRWXG | S_IRWXO),
"Unable to make " << m_dir << " test directory");
- copyDir(cynaraDbDir, m_dir);
+ copyDir(CynaraTestConsts::DB_DIR, m_dir);
}
dbusAccess.unmaskService();
void CynaraTestEnv::restore()
{
- DBusAccess dbusAccess("cynara.service");
+ DBusAccess dbusAccess(CynaraTestConsts::SERVICE.c_str());
dbusAccess.maskService();
dbusAccess.stopService();
- clear(cynaraDbDir);
+ clear(CynaraTestConsts::DB_DIR);
if (m_dbPresent)
- copyDir(m_dir, cynaraDbDir);
+ copyDir(m_dir, CynaraTestConsts::DB_DIR);
else
- removeDirIfExists(cynaraDbDir);
+ removeDirIfExists(CynaraTestConsts::DB_DIR);
dbusAccess.unmaskService();
dbusAccess.startService();