%{_bindir}/%{lib_name}-test-internal
%{_bindir}/%{lib_name}-test-ssl
%{_bindir}/%{lib_name}-test-init.sh
-%{tanchor_test}
-%{tanchor_test}/certs
+%attr(-, %{user_name}, %{group_name}) %{tanchor_test}
+%attr(-, %{user_name}, %{group_name}) %{tanchor_test}/certs
## Example Package ############################################################
%package -n trust-anchor-example
#include <tanchor/trust-anchor.hxx>
+#include <klay/filesystem.h>
#include <klay/testbench.h>
#include <sched.h>
int ret = ta.uninstall();
TEST_EXPECT(false, ret == TRUST_ANCHOR_ERROR_NONE);
}
+
+TESTCASE(TRUST_ANCHOR_UNINSTALL_NO_ORIGINAL_CERTS)
+{
+ tanchor::TrustAnchor ta(DUMMY_PKG_ID, DUMMY_UID);
+ int ret = ta.install(PKG_CERTS_DIR, false);
+ TEST_EXPECT(true, ret == TRUST_ANCHOR_ERROR_NONE);
+
+ // back-up original package's certs and remove it.
+ runtime::File backupDir(BACKUP_DIR);
+ if (backupDir.exists())
+ backupDir.remove(true);
+ backupDir.makeDirectory(true);
+
+ runtime::DirectoryIterator iter(PKG_CERTS_DIR), end;
+ while (iter != end) {
+ iter->copyTo(BACKUP_DIR);
+ ++iter;
+ }
+
+ runtime::File pkgCertsDir(PKG_CERTS_DIR);
+ pkgCertsDir.remove(true);
+
+ ret = ta.uninstall();
+ TEST_EXPECT(true, ret == TRUST_ANCHOR_ERROR_NONE);
+
+ // restore package's certs for next TC
+ pkgCertsDir.makeDirectory(true);
+ runtime::DirectoryIterator iter2(BACKUP_DIR), end2;
+ while (iter2 != end2) {
+ iter2->copyTo(PKG_CERTS_DIR);
+ ++iter2;
+ }
+ backupDir.remove(true);
+}
#define DUMMY_CERTS_DIR "/home/dummy"
#define PKG_CERTS_DIR TANCHOR_TEST_DIR "/certs"
+#define BACKUP_DIR TANCHOR_TEST_DIR "/backup"
#define TEST_PEM_PATH PKG_CERTS_DIR "/02265526.0"
#define TEST_PEM_HASH "02265526"