BuildRequires: pkgconfig(libsmack)
BuildRequires: pkgconfig(security-manager)
BuildRequires: pkgconfig(key-manager)
+ BuildRequires: pkgconfig(yaca)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(libwebappenc)
BuildRequires: cynara-devel
+ BuildRequires: libcynara-creds-dbus-devel
+ BuildRequires: libcynara-creds-gdbus-devel
BuildRequires: pkgconfig(libtzplatform-config)
BuildRequires: boost-devel
BuildRequires: pkgconfig(vconf)
-DCYNARA_DB_DIR=%{_localstatedir}/cynara/db \
-DAPP_USER="security_test_user" \
-DCKM_TEST_DIR=%{ckm_test_dir} \
- -DCKM_RW_DATA_DIR=%{ckm_rw_data_dir}
+ -DCKM_RW_DATA_DIR=%{ckm_rw_data_dir} \
+ -DGLOBAL_APP_DIR=%{TZ_SYS_RW_APP}
make %{?jobs:-j%jobs}
%install
id -u security_test_user 1>/dev/null 2>&1 || \
useradd -r -g users -s /sbin/nologin -c "for tests only" security_test_user
+ # Reload dbus daemon to apply newly installed configuration
+ systemctl reload dbus
+
echo "security-tests postinst done ..."
%files
/usr/bin/security-manager-tests
/etc/smack/test_smack_rules
/etc/smack/test_smack_rules_lnk
-/usr/apps/*
+%{TZ_SYS_RW_APP}*
/usr/bin/cynara-test
/usr/bin/ckm-tests
/usr/bin/ckm-integration-tests
+ /usr/bin/yaca-test
%{ckm_test_dir}/*
/etc/security-tests
/usr/lib/security-tests/cynara-tests/plugins/single-policy/*
/usr/lib/security-tests/cynara-tests/plugins/test-agent/*
/usr/bin/security-tests-inner-test
/usr/bin/libwebappenc-tests
+ %{_prefix}/share/yaca-test
%postun
id -u security_test_user 1>/dev/null 2>&1 && userdel security_test_user
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <sys/wait.h>
#include <unistd.h>
#include <grp.h>
#include <errno.h>
RUNNER_ASSERT_ERRNO_MSG(0 == rmdir(path.c_str()), "rmdir for <" << path << "> failed");
}
-
+void waitPid(pid_t pid)
+{
+ int status;
+ pid_t ret = waitpid(pid, &status, 0);
+ RUNNER_ASSERT_MSG((ret != -1) && WIFEXITED(status) && WEXITSTATUS(status) == 0,
+ "Child process exited abnormally" <<
+ ": ret=" << ret << ", errno=" << errno << ", status=" << status);
+}
+ // changes process label
+ void change_label(const char* label)
+ {
+ int ret = smack_set_label_for_self(label);
+ RUNNER_ASSERT_MSG(0 == ret, "Error in smack_set_label_for_self("<<label<<"). Error: " << ret);
+ }
#include <dpl/test/test_runner_child.h>
#include <dpl/test/test_runner_multiprocess.h>
#include <sys/smack.h>
+#include <sys/types.h>
#include <string>
#include <tuple>
#include <errno.h>
void creatSafe(const std::string &path, mode_t mode);
void symlinkSafe(const std::string &targetPath, const std::string &linkPath);
void removeDir(const std::string &path);
-
+void waitPid(pid_t pid);
+ void change_label(const char* label);
#define RUNNER_TEST_SMACK(Proc, ...) \
void Proc(std::tuple<__VA_ARGS__> &optionalArgsTuple); \