def test_fix_shebang(self): os.makedirs(os.path.dirname(self.file_path), exist_ok=True) with open(self.file_path, 'w') as fd: fd.write(self.content) repo._fix_shebangs('root') with open(self.file_path, 'r') as fd: self.assertEqual(fd.read(), self.expected)
def test_fix_shebang(self): rootdir = 'root' files = [ { 'path': os.path.join(rootdir, 'bin', 'a'), 'content': '#!/usr/bin/python\nimport this', 'expected': '#!/usr/bin/env python\nimport this', }, { 'path': os.path.join(rootdir, 'sbin', 'b'), 'content': '#!/usr/bin/python\nimport this', 'expected': '#!/usr/bin/env python\nimport this', }, { 'path': os.path.join(rootdir, 'usr', 'bin', 'c'), 'content': '#!/usr/bin/python\nimport this', 'expected': '#!/usr/bin/env python\nimport this', }, { 'path': os.path.join(rootdir, 'usr', 'sbin', 'd'), 'content': '#!/usr/bin/python\nimport this', 'expected': '#!/usr/bin/env python\nimport this', }, { 'path': os.path.join(rootdir, 'opt', 'bin', 'e'), 'content': '#!/usr/bin/python\nraise Exception()', 'expected': '#!/usr/bin/python\nraise Exception()', }, { 'path': os.path.join(rootdir, 'bin', 'd'), 'content': '#!/usr/bin/python3\nraise Exception()', 'expected': '#!/usr/bin/python3\nraise Exception()', }, ] for f in files: with self.subTest(key=f['path']): os.makedirs(os.path.dirname(f['path']), exist_ok=True) with open(f['path'], 'w') as fd: fd.write(f['content']) repo._fix_shebangs(rootdir) with open(f['path'], 'r') as fd: self.assertEqual(fd.read(), f['expected'])