diff options
author | Tomas Babej <tbabej@redhat.com> | 2013-10-30 12:22:56 +0100 |
---|---|---|
committer | Petr Viktorin <pviktori@redhat.com> | 2013-10-31 13:18:09 +0100 |
commit | 63451c0b16ea501fafc2678873e604f55ae81437 (patch) | |
tree | 92f35b45701025bf36514e02f6befc73e1712b16 | |
parent | a4ea378e5123c9883814952df06dfe6482da307d (diff) | |
download | freeipa.git-63451c0b16ea501fafc2678873e604f55ae81437.tar.gz freeipa.git-63451c0b16ea501fafc2678873e604f55ae81437.tar.xz freeipa.git-63451c0b16ea501fafc2678873e604f55ae81437.zip |
ipatests: Restore SELinux context after restoring files from backup
Part of: https://fedorahosted.org/freeipa/ticket/3833
-rw-r--r-- | ipatests/test_integration/tasks.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ipatests/test_integration/tasks.py b/ipatests/test_integration/tasks.py index bb7688bc..3fa32879 100644 --- a/ipatests/test_integration/tasks.py +++ b/ipatests/test_integration/tasks.py @@ -116,8 +116,20 @@ def unapply_fixes(host): def restore_files(host): backupname = os.path.join(host.config.test_dir, 'file_backup') rmname = os.path.join(host.config.test_dir, 'file_remove') + + # Restore the backed up files host.run_command('cp -arvf %s/* /' % ipautil.shell_quote(backupname), raiseonerr=False) + + # Restore context of the backed-up files + sed_remove_backupdir = 's/%s//g' % backupname.replace('/', '\/') + host.run_command("find %s | " + "sed '%s' | " + "sed '/^$/d' | " + "xargs -d '\n' " + "/sbin/restorecon -v" % (backupname, sed_remove_backupdir)) + + # Remove all the files that did not exist and were 'backed up' host.run_command(['xargs', '-d', r'\n', '-a', rmname, 'rm', '-vf'], raiseonerr=False) host.run_command(['rm', '-rvf', backupname, rmname], raiseonerr=False) |