Commit d9b411da authored by Romain Courteaud's avatar Romain Courteaud

theia: test resiliency of a non ascii only filename

parent 2e5c7422
...@@ -50,6 +50,7 @@ from test import TheiaTestCase, ResilientTheiaMixin, theia_software_release_url ...@@ -50,6 +50,7 @@ from test import TheiaTestCase, ResilientTheiaMixin, theia_software_release_url
dummy_software_url = os.path.abspath( dummy_software_url = os.path.abspath(
os.path.join('resilience_dummy', 'software.cfg')) os.path.join('resilience_dummy', 'software.cfg'))
non_ascii_only_filename = ' 🙊 \t nonascii \n $ \r é '
class WorkaroundSnapshotConflict(TheiaTestCase): class WorkaroundSnapshotConflict(TheiaTestCase):
...@@ -387,6 +388,11 @@ class TestTheiaExportAndImport(ResilienceMixin, ExportAndImportMixin, ResilientT ...@@ -387,6 +388,11 @@ class TestTheiaExportAndImport(ResilienceMixin, ExportAndImportMixin, ResilientT
# Check that dummy instance was properly deployed # Check that dummy instance was properly deployed
self.initial_log = self.checkLog(os.path.join(dummy_root, 'log.log')) self.initial_log = self.checkLog(os.path.join(dummy_root, 'log.log'))
# Create a non ascii filename, to ensure signature correctly handles it
self.writeFile(os.path.join(self.getPartitionPath('export', 'srv', 'project'),
non_ascii_only_filename),
'This file should be included in resilient backup')
# Create ~/include and ~/include/included # Create ~/include and ~/include/included
self.writeFile(os.path.join(dummy_root, 'include', 'included'), self.writeFile(os.path.join(dummy_root, 'include', 'included'),
'This file should be included in resilient backup') 'This file should be included in resilient backup')
...@@ -428,6 +434,10 @@ class TestTheiaExportAndImport(ResilienceMixin, ExportAndImportMixin, ResilientT ...@@ -428,6 +434,10 @@ class TestTheiaExportAndImport(ResilienceMixin, ExportAndImportMixin, ResilientT
# Check that the dummy instance is not yet started # Check that the dummy instance is not yet started
self.checkLog(os.path.join(dummy_root, 'log.log'), self.initial_log, newline=None) self.checkLog(os.path.join(dummy_root, 'log.log'), self.initial_log, newline=None)
# Check that the non ascii filename has been correctly propagated
self.assertTrue(os.path.exists(self.getPartitionPath('import', 'srv', 'project'),
non_ascii_only_filename))
# Check that ~/srv/.backup_identity_script was detected and called # Check that ~/srv/.backup_identity_script was detected and called
signature = self.getPartitionPath( signature = self.getPartitionPath(
'import', 'srv', 'backup', 'theia', 'slappart0.backup.signature.custom') 'import', 'srv', 'backup', 'theia', 'slappart0.backup.signature.custom')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment