@@ -37,9 +37,9 @@ def test_pytask_execute_task_setup(monkeypatch):
37
37
def test_compile_latex_document (runner , tmp_path ):
38
38
"""Test simple compilation."""
39
39
task_source = """
40
- import pytask
40
+ from pytask import mark
41
41
42
- @pytask. mark.latex(script="document.tex", document="document.pdf")
42
+ @mark.latex(script="document.tex", document="document.pdf")
43
43
def task_compile_document():
44
44
pass
45
45
"""
@@ -63,9 +63,9 @@ def task_compile_document():
63
63
def test_compile_latex_document_w_relative (runner , tmp_path ):
64
64
"""Test simple compilation."""
65
65
task_source = f"""
66
- import pytask
66
+ from pytask import mark
67
67
68
- @pytask. mark.latex(
68
+ @mark.latex(
69
69
script="document.tex",
70
70
document="{ tmp_path .joinpath ("bld" , "document.pdf" ).as_posix ()} "
71
71
)
@@ -95,9 +95,9 @@ def task_compile_document():
95
95
def test_compile_latex_document_to_different_name (runner , tmp_path ):
96
96
"""Compile a LaTeX document where source and output name differ."""
97
97
task_source = """
98
- import pytask
98
+ from pytask import mark
99
99
100
- @pytask. mark.latex(script="in.tex", document="out.pdf")
100
+ @mark.latex(script="in.tex", document="out.pdf")
101
101
def task_compile_document():
102
102
pass
103
103
@@ -122,12 +122,11 @@ def task_compile_document():
122
122
def test_compile_w_bibliography (runner , tmp_path ):
123
123
"""Compile a LaTeX document with bibliography."""
124
124
task_source = """
125
- import pytask
126
- from pytask import task
125
+ from pytask import task, mark
127
126
from pathlib import Path
128
127
129
128
@task(kwargs={"path": Path("references.bib")})
130
- @pytask. mark.latex(script="in_w_bib.tex", document="out_w_bib.pdf")
129
+ @mark.latex(script="in_w_bib.tex", document="out_w_bib.pdf")
131
130
def task_compile_document():
132
131
pass
133
132
"""
@@ -162,9 +161,9 @@ def task_compile_document():
162
161
@pytest .mark .end_to_end ()
163
162
def test_raise_error_if_latexmk_is_not_found (tmp_path , monkeypatch ):
164
163
task_source = """
165
- import pytask
164
+ from pytask import mark
166
165
167
- @pytask. mark.latex(script="document.tex", document="document.pdf")
166
+ @mark.latex(script="document.tex", document="document.pdf")
168
167
def task_compile_document():
169
168
pass
170
169
"""
@@ -196,10 +195,10 @@ def task_compile_document():
196
195
@pytest .mark .end_to_end ()
197
196
def test_compile_latex_document_w_xelatex (runner , tmp_path ):
198
197
task_source = """
199
- import pytask
198
+ from pytask import mark
200
199
from pytask_latex import compilation_steps
201
200
202
- @pytask. mark.latex(
201
+ @mark.latex(
203
202
script="document.tex",
204
203
document="document.pdf",
205
204
compilation_steps=compilation_steps.latexmk(
@@ -231,11 +230,11 @@ def task_compile_document():
231
230
@pytest .mark .end_to_end ()
232
231
def test_compile_latex_document_w_two_dependencies (runner , tmp_path ):
233
232
task_source = """
234
- import pytask
233
+ from pytask import mark
234
+ from pathlib import Path
235
235
236
- @pytask.mark.latex(script="document.tex", document="document.pdf")
237
- @pytask.mark.depends_on("in.txt")
238
- def task_compile_document():
236
+ @mark.latex(script="document.tex", document="document.pdf")
237
+ def task_compile_document(path: Path = Path("in.txt")):
239
238
pass
240
239
"""
241
240
tmp_path .joinpath ("task_dummy.py" ).write_text (textwrap .dedent (task_source ))
@@ -259,11 +258,11 @@ def task_compile_document():
259
258
@pytest .mark .end_to_end ()
260
259
def test_fail_because_script_is_not_latex (tmp_path ):
261
260
task_source = """
262
- import pytask
261
+ from pytask import mark
262
+ from pathlib import Path
263
263
264
- @pytask.mark.latex(script="document.text", document="document.pdf")
265
- @pytask.mark.depends_on("in.txt")
266
- def task_compile_document():
264
+ @mark.latex(script="document.text", document="document.pdf")
265
+ def task_compile_document(path: Path = Path("in.txt")):
267
266
pass
268
267
"""
269
268
tmp_path .joinpath ("task_dummy.py" ).write_text (textwrap .dedent (task_source ))
@@ -297,11 +296,11 @@ def test_compile_document_to_out_if_document_has_relative_resources(tmp_path):
297
296
tmp_path .joinpath ("sub" , "resources" ).mkdir (parents = True )
298
297
299
298
task_source = """
300
- import pytask
299
+ from pytask import mark
300
+ from pathlib import Path
301
301
302
- @pytask.mark.latex(script="document.tex", document="out/document.pdf")
303
- @pytask.mark.depends_on("resources/content.tex")
304
- def task_compile_document():
302
+ @mark.latex(script="document.tex", document="out/document.pdf")
303
+ def task_compile_document(path: Path = Path("resources/content.tex")):
305
304
pass
306
305
"""
307
306
tmp_path .joinpath ("sub" , "task_dummy.py" ).write_text (textwrap .dedent (task_source ))
@@ -333,10 +332,10 @@ def test_compile_document_w_wrong_flag(tmp_path):
333
332
tmp_path .joinpath ("sub" ).mkdir (parents = True )
334
333
335
334
task_source = """
336
- import pytask
335
+ from pytask import mark
337
336
from pytask_latex import compilation_steps
338
337
339
- @pytask. mark.latex(
338
+ @mark.latex(
340
339
script="document.tex",
341
340
document="out/document.pdf",
342
341
compilation_steps=compilation_steps.latexmk("--wrong-flag"),
@@ -365,17 +364,19 @@ def task_compile_document():
365
364
@pytest .mark .end_to_end ()
366
365
def test_compile_document_w_image (runner , tmp_path ):
367
366
task_source = f"""
368
- import pytask
367
+ from pytask import Product
369
368
import shutil
369
+ from typing_extensions import Annotated
370
+ from pathlib import Path
371
+ from pytask import mark
370
372
371
- @pytask.mark.produces("image.png")
372
- def task_create_image():
373
+ def task_create_image(image: Annotated[Path, Product] = Path("image.png")):
373
374
shutil.copy(
374
375
"{ TEST_RESOURCES .joinpath ("image.png" ).as_posix ()} ",
375
376
"{ tmp_path .joinpath ("image.png" ).as_posix ()} "
376
377
)
377
378
378
- @pytask. mark.latex(script="document.tex", document="document.pdf")
379
+ @mark.latex(script="document.tex", document="document.pdf")
379
380
def task_compile_document():
380
381
pass
381
382
"""
@@ -400,10 +401,10 @@ def task_compile_document():
400
401
def test_compile_latex_document_w_multiple_marks (runner , tmp_path ):
401
402
"""Test simple compilation."""
402
403
task_source = """
403
- import pytask
404
+ from pytask import mark
404
405
405
- @pytask. mark.latex(script="document.text")
406
- @pytask. mark.latex(script="document.tex", document="document.pdf")
406
+ @mark.latex(script="document.text")
407
+ @mark.latex(script="document.tex", document="document.pdf")
407
408
def task_compile_document():
408
409
pass
409
410
"""
@@ -428,9 +429,9 @@ def task_compile_document():
428
429
def test_compile_latex_document_with_wrong_extension (runner , tmp_path ):
429
430
"""Test simple compilation."""
430
431
task_source = """
431
- import pytask
432
+ from pytask import mark
432
433
433
- @pytask. mark.latex(script="document.tex", document="document.file")
434
+ @mark.latex(script="document.tex", document="document.file")
434
435
def task_compile_document():
435
436
pass
436
437
"""
@@ -455,15 +456,15 @@ def task_compile_document():
455
456
def test_compile_w_bibliography_and_keep_bbl (runner , tmp_path ):
456
457
"""Compile a LaTeX document with bibliography."""
457
458
task_source = """
458
- import pytask
459
+ from pytask import mark, Product
460
+ from pathlib import Path
461
+ from typing_extensions import Annotated
459
462
460
- @pytask.mark.produces("out_w_bib.bbl")
461
- @pytask.mark.latex(
462
- script="in_w_bib.tex",
463
- document="out_w_bib.pdf",
464
- )
465
- @pytask.mark.depends_on("references.bib")
466
- def task_compile_document():
463
+ @mark.latex(script="in_w_bib.tex", document="out_w_bib.pdf")
464
+ def task_compile_document(
465
+ bibliography: Path = Path("references.bib"),
466
+ bbl: Annotated[Path, Product] = Path("out_w_bib.bbl"),
467
+ ):
467
468
pass
468
469
"""
469
470
tmp_path .joinpath ("task_dummy.py" ).write_text (textwrap .dedent (task_source ))
@@ -508,9 +509,9 @@ def test_compile_latex_document_w_unknown_compilation_step(
508
509
):
509
510
"""Test simple compilation."""
510
511
task_source = f"""
511
- import pytask
512
+ from pytask import mark
512
513
513
- @pytask. mark.latex(
514
+ @mark.latex(
514
515
script="document.tex",
515
516
document="document.pdf",
516
517
compilation_steps={ step } ,
@@ -539,10 +540,10 @@ def task_compile_document():
539
540
def test_compile_latex_document_with_task_decorator (runner , tmp_path ):
540
541
"""Test simple compilation."""
541
542
task_source = """
542
- import pytask
543
+ from pytask import mark, task
543
544
544
- @pytask. mark.latex(script="document.tex", document="document.pdf")
545
- @pytask.mark. task
545
+ @mark.latex(script="document.tex", document="document.pdf")
546
+ @task
546
547
def compile_document():
547
548
pass
548
549
"""
@@ -594,12 +595,11 @@ def test_use_task_without_path(tmp_path):
594
595
def test_collect_latex_document_with_product_from_another_task (runner , tmp_path ):
595
596
"""Test simple compilation."""
596
597
task_source = """
597
- import pytask
598
598
from pathlib import Path
599
- from pytask import Product
599
+ from pytask import Product, mark
600
600
from typing_extensions import Annotated
601
601
602
- @pytask. mark.latex(script="document.tex", document="document.pdf")
602
+ @mark.latex(script="document.tex", document="document.pdf")
603
603
def task_compile_document(): pass
604
604
605
605
0 commit comments