| @@ 39-55 (lines=17) @@ | ||
| 36 | f.write("f = open('python_pre.txt', 'w')\n") |
|
| 37 | f.write("f.close()\n") |
|
| 38 | ||
| 39 | if sys.platform.startswith('win'): |
|
| 40 | post = 'post_gen_project.bat' |
|
| 41 | with open(os.path.join(hook_dir, post), 'w') as f: |
|
| 42 | f.write("@echo off\n") |
|
| 43 | f.write("\n") |
|
| 44 | f.write("echo post generation hook\n") |
|
| 45 | f.write("echo. >shell_post.txt\n") |
|
| 46 | else: |
|
| 47 | post = 'post_gen_project.sh' |
|
| 48 | filename = os.path.join(hook_dir, post) |
|
| 49 | with open(filename, 'w') as f: |
|
| 50 | f.write("#!/bin/bash\n") |
|
| 51 | f.write("\n") |
|
| 52 | f.write("echo 'post generation hook';\n") |
|
| 53 | f.write("touch 'shell_post.txt'\n") |
|
| 54 | # Set the execute bit |
|
| 55 | os.chmod(filename, os.stat(filename).st_mode | stat.S_IXUSR) |
|
| 56 | ||
| 57 | return post |
|
| 58 | ||
| @@ 132-146 (lines=15) @@ | ||
| 129 | fh.write("echo 'post generation hook';\n") |
|
| 130 | fh.write("touch 'shell_post.txt'\n") |
|
| 131 | fh.write("touch '{{cookiecutter.file}}'\n") |
|
| 132 | os.chmod(hook_path, os.stat(hook_path).st_mode | stat.S_IXUSR) |
|
| 133 | ||
| 134 | hooks.run_script_with_context( |
|
| 135 | os.path.join(self.hooks_path, self.post_hook), |
|
| 136 | 'tests', |
|
| 137 | { |
|
| 138 | 'cookiecutter': { |
|
| 139 | 'file': 'context_post.txt' |
|
| 140 | } |
|
| 141 | }) |
|
| 142 | assert os.path.isfile('tests/context_post.txt') |
|
| 143 | assert 'tests' not in os.getcwd() |
|
| 144 | ||
| 145 | def test_run_hook(self): |
|
| 146 | """Execute hook from specified template in specified output |
|
| 147 | directory. |
|
| 148 | """ |
|
| 149 | tests_dir = os.path.join(self.repo_path, 'input{{hooks}}') |
|