Revision 866922f8
Added by koszko over 1 year ago
| tests/test_local_apt.py | ||
|---|---|---|
| 128 | 128 |
The following NEW packages will be installed: |
| 129 | 129 |
fonts-mathjax libjs-mathjax |
| 130 | 130 |
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. |
| 131 |
Inst fonts-mathjax (2.7.9+dfsg-1 Devuan:4.0/stable, Devuan:1.0.0/unstable [all]) |
|
| 132 |
Inst libjs-mathjax (2.7.9+dfsg-1 Devuan:4.0/stable, Devuan:1.0.0/unstable [all]) |
|
| 133 |
Conf fonts-mathjax (2.7.9+dfsg-1 Devuan:4.0/stable, Devuan:1.0.0/unstable [all]) |
|
| 134 |
Conf libjs-mathjax (2.7.9+dfsg-1 Devuan:4.0/stable, Devuan:1.0.0/unstable [all]) |
|
| 131 |
Inst fonts-mathjax (0:2.7.9+dfsg-1 Devuan:4.0/stable, Devuan:1.0.0/unstable [all])
|
|
| 132 |
Inst libjs-mathjax (0:2.7.9+dfsg-1 Devuan:4.0/stable, Devuan:1.0.0/unstable [all])
|
|
| 133 |
Conf fonts-mathjax (0:2.7.9+dfsg-1 Devuan:4.0/stable, Devuan:1.0.0/unstable [all])
|
|
| 134 |
Conf libjs-mathjax (0:2.7.9+dfsg-1 Devuan:4.0/stable, Devuan:1.0.0/unstable [all])
|
|
| 135 | 135 |
''' |
| 136 | 136 |
|
| 137 | 137 |
def run_apt_get_install(command, returncode=0, **kwargs): |
| ... | ... | |
| 153 | 153 |
Instead of running an 'apt-get download' command just write some dummy |
| 154 | 154 |
.deb to the appropriate directory. |
| 155 | 155 |
""" |
| 156 |
expected = ['apt-get', '-c', '<conf_path>', 'download', 'libjs-mathjax'] |
|
| 157 |
if 'fonts-mathjax' in command: |
|
| 158 |
expected.insert(-1, 'fonts-mathjax') |
|
| 156 |
expected = ['apt-get', '-c', '<conf_path>', 'download'] |
|
| 157 |
if 'libjs-mathjax' in command: |
|
| 158 |
expected.append('libjs-mathjax')
|
|
| 159 |
else: |
|
| 160 |
expected.append('fonts-mathjax=0:2.7.9+dfsg-1')
|
|
| 161 |
expected.append('libjs-mathjax=0:2.7.9+dfsg-1')
|
|
| 159 | 162 |
|
| 160 | 163 |
conf_path = Path(process_run_args(command, kwargs, expected)['conf_path']) |
| 161 | 164 |
|
| 162 | 165 |
destination = Path(kwargs.get('cwd') or Path.cwd())
|
| 163 | 166 |
|
| 167 |
package_name_regex = re.compile(r'^[^=]+-mathjax') |
|
| 168 |
|
|
| 164 | 169 |
for word in expected: |
| 165 |
if word.endswith('-mathjax'):
|
|
| 166 |
deb_path = destination / f'{word}_2.7.9+dfsg-1_all.deb'
|
|
| 170 |
match = package_name_regex.match(word) |
|
| 171 |
if match: |
|
| 172 |
filename = f'{match.group(0)}_0%3a2.7.9+dfsg-1_all.deb'
|
|
| 173 |
deb_path = destination / filename |
|
| 167 | 174 |
deb_path.write_text(f'dummy {deb_path.name}')
|
| 168 | 175 |
|
| 169 | 176 |
return MockedCompletedProcess(command, returncode, |
| ... | ... | |
| 175 | 182 |
"tarballs" to the appropriate directory. |
| 176 | 183 |
""" |
| 177 | 184 |
expected = ['apt-get', '-c', '<conf_path>', 'source', |
| 178 |
'--download-only', 'libjs-mathjax=2.7.9+dfsg-1'] |
|
| 179 |
if 'fonts-mathjax=2.7.9+dfsg-1' in command: |
|
| 180 |
if command[-1] == 'fonts-mathjax=2.7.9+dfsg-1': |
|
| 181 |
expected.append('fonts-mathjax=2.7.9+dfsg-1')
|
|
| 185 |
'--download-only', 'libjs-mathjax=0:2.7.9+dfsg-1']
|
|
| 186 |
if 'fonts-mathjax=0:2.7.9+dfsg-1' in command:
|
|
| 187 |
if command[-1] == 'fonts-mathjax=0:2.7.9+dfsg-1':
|
|
| 188 |
expected.append('fonts-mathjax=0:2.7.9+dfsg-1')
|
|
| 182 | 189 |
else: |
| 183 |
expected.insert(-1, 'fonts-mathjax=2.7.9+dfsg-1') |
|
| 190 |
expected.insert(-1, 'fonts-mathjax=0:2.7.9+dfsg-1')
|
|
| 184 | 191 |
|
| 185 | 192 |
destination = Path(kwargs.get('cwd') or Path.cwd())
|
| 186 | 193 |
for filename in [ |
| ... | ... | |
| 335 | 342 |
local_apt.download_apt_packages(sources_list, local_apt.default_keys, |
| 336 | 343 |
['libjs-mathjax'], destination) |
| 337 | 344 |
|
| 338 |
libjs_mathjax_path = destination / 'libjs-mathjax_2.7.9+dfsg-1_all.deb' |
|
| 339 |
fonts_mathjax_path = destination / 'fonts-mathjax_2.7.9+dfsg-1_all.deb' |
|
| 345 |
libjs_mathjax_path = destination / 'libjs-mathjax_0%3a2.7.9+dfsg-1_all.deb'
|
|
| 346 |
fonts_mathjax_path = destination / 'fonts-mathjax_0%3a2.7.9+dfsg-1_all.deb'
|
|
| 340 | 347 |
|
| 341 | 348 |
source_paths = [ |
| 342 | 349 |
destination / 'mathjax_2.7.9+dfsg-1.debian.tar.xz', |
Also available in: Unified diff
properly handle percent-encoded characters in .deb file names