Skip to content
Snippets Groups Projects
Commit a2aae620 authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

Merge branch 'f-more-macro-tests' into 'dev'

A few more tests for macro replacment

See merge request !121
parents 19119beb b998e043
No related branches found
No related tags found
2 merge requests!123REL: Release v0.6.0,!121A few more tests for macro replacment
Pipeline #37684 failed
......@@ -142,7 +142,7 @@ def test_multi_macros_toplevel(register_macros, macro_store_reset):
dat_loader = list(yaml.safe_load_all("""
---
metadata:
crawler-version: 0.3.1
crawler-version: 0.5.1
macros:
- !defmacro
name: test_one
......@@ -171,7 +171,7 @@ def test_load_definition(register_macros, macro_store_reset):
txt = """
---
metadata:
crawler-version: 0.3.1
crawler-version: 0.5.1
---
extroot:
type: Directory
......@@ -188,7 +188,7 @@ extroot:
cfood = _temp_file_load("""
---
metadata:
crawler-version: 0.3.1
crawler-version: 0.5.1
macros:
- !defmacro
name: test_one
......@@ -257,12 +257,90 @@ testnode:
assert dat["testnode"]["obl"]["replaced1"]["d"][1] == "25"
def test_macros_in_macros(register_macros, macro_store_reset):
"""
Test that macros can be used in macro definitions.
"""
cfood = _temp_file_load("""
---
metadata:
crawler-version: 0.5.1
macros:
- !defmacro
name: one_macro
params:
a: 25
definition:
macro_sub_$a:
b: $a
another_param: 3
- !defmacro
name: test_macrodef
params: {}
definition:
macro_top: !macro
one_macro:
- a: 17
- {}
- a: 98
not_macro:
a: 26
---
extroot: !macro
test_macrodef:
""")
assert "test_macro" not in cfood["extroot"]
assert cfood["extroot"]["macro_top"]["not_macro"]["a"] == 26
d = cfood["extroot"]["macro_top"]
assert d["macro_sub_17"]["b"] == "17"
assert d["macro_sub_17"]["another_param"] == 3
assert d["macro_sub_25"]["b"] == "25"
assert d["macro_sub_25"]["another_param"] == 3
assert d["macro_sub_98"]["b"] == "98"
assert d["macro_sub_98"]["another_param"] == 3
@pytest.mark.xfail(
reason="This is discussed in the following issue"
"https://gitlab.com/caosdb/caosdb-crawler/-/issues/74."
)
def test_silent_overwrite(register_macros, macro_store_reset):
cfood = _temp_file_load("""
---
metadata:
crawler-version: 0.5.1
macros:
- !defmacro
name: one_macro
params:
a: 25
definition:
macro_sub:
b: $a
another_param: 3
- !defmacro
name: test_macrodef
params: {}
definition:
macro_top: !macro
one_macro:
- a: 17
- a: 98
---
extroot: !macro
test_macrodef:
""")
assert len(cfood["extroot"]["macro_top"]) == 2
def test_circular_macro_definition(register_macros, macro_store_reset):
"""Test the (ab-)use of macros to create an infinite loop."""
cfood = _temp_file_load("""
---
metadata:
crawler-version: 0.3.1
crawler-version: 0.5.1
macros:
- !defmacro
name: test_one
......@@ -311,7 +389,7 @@ def test_use_macro_twice():
cfood = _temp_file_load("""
---
metadata:
crawler-version: 0.3.1
crawler-version: 0.5.1
macros:
- !defmacro
name: test_twice
......@@ -345,7 +423,7 @@ def test_documentation_example_2():
cfood = _temp_file_load("""
---
metadata:
crawler-version: 0.3.1
crawler-version: 0.5.1
macros:
- !defmacro
name: MarkdownFile
......@@ -383,7 +461,7 @@ def test_documentation_example_1():
cfood = _temp_file_load("""
---
metadata:
crawler-version: 0.3.1
crawler-version: 0.5.1
macros:
- !defmacro
name: SimulationDatasetFile
......@@ -432,7 +510,7 @@ def test_def_replacements():
cfood = _temp_file_load("""
---
metadata:
crawler-version: 0.3.1
crawler-version: 0.5.1
macros:
- !defmacro
name: test_def_replacements
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment