From 63451c0b16ea501fafc2678873e604f55ae81437 Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Oct 31 2013 12:18:09 +0000 Subject: ipatests: Restore SELinux context after restoring files from backup Part of: https://fedorahosted.org/freeipa/ticket/3833 --- diff --git a/ipatests/test_integration/tasks.py b/ipatests/test_integration/tasks.py index bb7688b..3fa3287 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)