diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2019-01-11 17:37:20 -0500 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2019-01-16 18:35:21 -0500 |
commit | 42150422f0c04a3ea5d418713b87fdc2db960567 (patch) | |
tree | f3c75f513535057cd7462b8d849a336fb4b88368 /tests/elements | |
parent | c7f69bcc2d772157cde3a932c0e93f09a329019f (diff) | |
download | buildstream-42150422f0c04a3ea5d418713b87fdc2db960567.tar.gz |
tests: Rename `plugins` directory to `elements` directory
Now that the remaining test "filter.py" in the plugins directory
tests a specific element, it makes sense to create a place for
testing elements, just like we do for sources.
Diffstat (limited to 'tests/elements')
18 files changed, 601 insertions, 0 deletions
diff --git a/tests/elements/__init__.py b/tests/elements/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/elements/__init__.py diff --git a/tests/elements/filter.py b/tests/elements/filter.py new file mode 100644 index 000000000..31b23c124 --- /dev/null +++ b/tests/elements/filter.py @@ -0,0 +1,463 @@ +import os +import pytest +import shutil +from tests.testutils import cli, create_repo, ALL_REPO_KINDS +from buildstream._exceptions import ErrorDomain +from buildstream import _yaml + +DATA_DIR = os.path.join( + os.path.dirname(os.path.realpath(__file__)), + 'filter', +) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_include(datafiles, cli, tmpdir): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(project=project, args=['build', 'output-include.bst']) + result.assert_success() + + checkout = os.path.join(tmpdir.dirname, tmpdir.basename, 'checkout') + result = cli.run(project=project, args=['checkout', 'output-include.bst', checkout]) + result.assert_success() + assert os.path.exists(os.path.join(checkout, "foo")) + assert not os.path.exists(os.path.join(checkout, "bar")) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_include_dynamic(datafiles, cli, tmpdir): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(project=project, args=['build', 'output-dynamic-include.bst']) + result.assert_success() + + checkout = os.path.join(tmpdir.dirname, tmpdir.basename, 'checkout') + result = cli.run(project=project, args=['checkout', 'output-dynamic-include.bst', checkout]) + result.assert_success() + assert os.path.exists(os.path.join(checkout, "foo")) + assert not os.path.exists(os.path.join(checkout, "bar")) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_exclude(datafiles, cli, tmpdir): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(project=project, args=['build', 'output-exclude.bst']) + result.assert_success() + + checkout = os.path.join(tmpdir.dirname, tmpdir.basename, 'checkout') + result = cli.run(project=project, args=['checkout', 'output-exclude.bst', checkout]) + result.assert_success() + assert not os.path.exists(os.path.join(checkout, "foo")) + assert os.path.exists(os.path.join(checkout, "bar")) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_orphans(datafiles, cli, tmpdir): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(project=project, args=['build', 'output-orphans.bst']) + result.assert_success() + + checkout = os.path.join(tmpdir.dirname, tmpdir.basename, 'checkout') + result = cli.run(project=project, args=['checkout', 'output-orphans.bst', checkout]) + result.assert_success() + assert os.path.exists(os.path.join(checkout, "baz")) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_deps_ok(datafiles, cli): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(project=project, args=['build', 'deps-permitted.bst']) + result.assert_success() + + result = cli.run(project=project, + args=['show', '--deps=run', "--format='%{name}'", 'deps-permitted.bst']) + result.assert_success() + + assert 'output-exclude.bst' in result.output + assert 'output-orphans.bst' in result.output + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_forbid_sources(datafiles, cli): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(project=project, args=['build', 'forbidden-source.bst']) + result.assert_main_error(ErrorDomain.ELEMENT, 'element-forbidden-sources') + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_forbid_multi_bdep(datafiles, cli): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(project=project, args=['build', 'forbidden-multi-bdep.bst']) + result.assert_main_error(ErrorDomain.ELEMENT, 'filter-bdepend-wrong-count') + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_forbid_no_bdep(datafiles, cli): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(project=project, args=['build', 'forbidden-no-bdep.bst']) + result.assert_main_error(ErrorDomain.ELEMENT, 'filter-bdepend-wrong-count') + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_forbid_also_rdep(datafiles, cli): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(project=project, args=['build', 'forbidden-also-rdep.bst']) + result.assert_main_error(ErrorDomain.ELEMENT, 'filter-bdepend-also-rdepend') + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_workspace_open(datafiles, cli, tmpdir): + project = os.path.join(datafiles.dirname, datafiles.basename) + workspace_dir = os.path.join(tmpdir.dirname, tmpdir.basename, "workspace") + result = cli.run(project=project, args=['workspace', 'open', '--directory', workspace_dir, 'deps-permitted.bst']) + result.assert_success() + assert os.path.exists(os.path.join(workspace_dir, "foo")) + assert os.path.exists(os.path.join(workspace_dir, "bar")) + assert os.path.exists(os.path.join(workspace_dir, "baz")) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_workspace_open_multi(datafiles, cli, tmpdir): + project = os.path.join(datafiles.dirname, datafiles.basename) + result = cli.run(cwd=project, project=project, args=['workspace', 'open', 'deps-permitted.bst', + 'output-orphans.bst']) + result.assert_success() + assert os.path.exists(os.path.join(project, "input")) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_workspace_build(datafiles, cli, tmpdir): + project = os.path.join(datafiles.dirname, datafiles.basename) + tempdir = os.path.join(tmpdir.dirname, tmpdir.basename) + workspace_dir = os.path.join(tempdir, "workspace") + result = cli.run(project=project, args=['workspace', 'open', '--directory', workspace_dir, 'output-orphans.bst']) + result.assert_success() + src = os.path.join(workspace_dir, "foo") + dst = os.path.join(workspace_dir, "quux") + shutil.copyfile(src, dst) + result = cli.run(project=project, args=['build', 'output-orphans.bst']) + result.assert_success() + checkout_dir = os.path.join(tempdir, "checkout") + result = cli.run(project=project, args=['checkout', 'output-orphans.bst', checkout_dir]) + result.assert_success() + assert os.path.exists(os.path.join(checkout_dir, "quux")) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_workspace_close(datafiles, cli, tmpdir): + project = os.path.join(datafiles.dirname, datafiles.basename) + tempdir = os.path.join(tmpdir.dirname, tmpdir.basename) + workspace_dir = os.path.join(tempdir, "workspace") + result = cli.run(project=project, args=['workspace', 'open', '--directory', workspace_dir, 'output-orphans.bst']) + result.assert_success() + src = os.path.join(workspace_dir, "foo") + dst = os.path.join(workspace_dir, "quux") + shutil.copyfile(src, dst) + result = cli.run(project=project, args=['workspace', 'close', 'deps-permitted.bst']) + result.assert_success() + result = cli.run(project=project, args=['build', 'output-orphans.bst']) + result.assert_success() + checkout_dir = os.path.join(tempdir, "checkout") + result = cli.run(project=project, args=['checkout', 'output-orphans.bst', checkout_dir]) + result.assert_success() + assert not os.path.exists(os.path.join(checkout_dir, "quux")) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_workspace_reset(datafiles, cli, tmpdir): + project = os.path.join(datafiles.dirname, datafiles.basename) + tempdir = os.path.join(tmpdir.dirname, tmpdir.basename) + workspace_dir = os.path.join(tempdir, "workspace") + result = cli.run(project=project, args=['workspace', 'open', '--directory', workspace_dir, 'output-orphans.bst']) + result.assert_success() + src = os.path.join(workspace_dir, "foo") + dst = os.path.join(workspace_dir, "quux") + shutil.copyfile(src, dst) + result = cli.run(project=project, args=['workspace', 'reset', 'deps-permitted.bst']) + result.assert_success() + result = cli.run(project=project, args=['build', 'output-orphans.bst']) + result.assert_success() + checkout_dir = os.path.join(tempdir, "checkout") + result = cli.run(project=project, args=['checkout', 'output-orphans.bst', checkout_dir]) + result.assert_success() + assert not os.path.exists(os.path.join(checkout_dir, "quux")) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_track(datafiles, cli, tmpdir): + repo = create_repo('git', str(tmpdir)) + ref = repo.create(os.path.join(str(datafiles), "files")) + elements_dir = os.path.join(str(tmpdir), "elements") + project = str(tmpdir) + input_name = "input.bst" + + project_config = { + "name": "filter-track-test", + "element-path": "elements", + } + project_file = os.path.join(str(tmpdir), "project.conf") + _yaml.dump(project_config, project_file) + + input_config = { + "kind": "import", + "sources": [repo.source_config()], + } + + input_file = os.path.join(elements_dir, input_name) + _yaml.dump(input_config, input_file) + + filter1_config = { + "kind": "filter", + "depends": [ + {"filename": input_name, "type": "build"} + ] + } + filter1_file = os.path.join(elements_dir, "filter1.bst") + _yaml.dump(filter1_config, filter1_file) + + filter2_config = { + "kind": "filter", + "depends": [ + {"filename": "filter1.bst", "type": "build"} + ] + } + filter2_file = os.path.join(elements_dir, "filter2.bst") + _yaml.dump(filter2_config, filter2_file) + + # Assert that a fetch is needed + assert cli.get_element_state(project, input_name) == 'no reference' + + # Now try to track it + result = cli.run(project=project, args=["source", "track", "filter2.bst"]) + result.assert_success() + + # Now check that a ref field exists + new_input = _yaml.load(input_file) + assert new_input["sources"][0]["ref"] == ref + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_track_excepted(datafiles, cli, tmpdir): + repo = create_repo('git', str(tmpdir)) + ref = repo.create(os.path.join(str(datafiles), "files")) + elements_dir = os.path.join(str(tmpdir), "elements") + project = str(tmpdir) + input_name = "input.bst" + + project_config = { + "name": "filter-track-test", + "element-path": "elements", + } + project_file = os.path.join(str(tmpdir), "project.conf") + _yaml.dump(project_config, project_file) + + input_config = { + "kind": "import", + "sources": [repo.source_config()], + } + + input_file = os.path.join(elements_dir, input_name) + _yaml.dump(input_config, input_file) + + filter1_config = { + "kind": "filter", + "depends": [ + {"filename": input_name, "type": "build"} + ] + } + filter1_file = os.path.join(elements_dir, "filter1.bst") + _yaml.dump(filter1_config, filter1_file) + + filter2_config = { + "kind": "filter", + "depends": [ + {"filename": "filter1.bst", "type": "build"} + ] + } + filter2_file = os.path.join(elements_dir, "filter2.bst") + _yaml.dump(filter2_config, filter2_file) + + # Assert that a fetch is needed + assert cli.get_element_state(project, input_name) == 'no reference' + + # Now try to track it + result = cli.run(project=project, args=["source", "track", "filter2.bst", "--except", "input.bst"]) + result.assert_success() + + # Now check that a ref field exists + new_input = _yaml.load(input_file) + assert "ref" not in new_input["sources"][0] + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_track_multi_to_one(datafiles, cli, tmpdir): + repo = create_repo('git', str(tmpdir)) + ref = repo.create(os.path.join(str(datafiles), "files")) + elements_dir = os.path.join(str(tmpdir), "elements") + project = str(tmpdir) + input_name = "input.bst" + + project_config = { + "name": "filter-track-test", + "element-path": "elements", + } + project_file = os.path.join(str(tmpdir), "project.conf") + _yaml.dump(project_config, project_file) + + input_config = { + "kind": "import", + "sources": [repo.source_config()], + } + + input_file = os.path.join(elements_dir, input_name) + _yaml.dump(input_config, input_file) + + filter1_config = { + "kind": "filter", + "depends": [ + {"filename": input_name, "type": "build"} + ] + } + filter1_file = os.path.join(elements_dir, "filter1.bst") + _yaml.dump(filter1_config, filter1_file) + + filter2_config = { + "kind": "filter", + "depends": [ + {"filename": input_name, "type": "build"} + ] + } + filter2_file = os.path.join(elements_dir, "filter2.bst") + _yaml.dump(filter2_config, filter2_file) + + # Assert that a fetch is needed + assert cli.get_element_state(project, input_name) == 'no reference' + + # Now try to track it + result = cli.run(project=project, args=["source", "track", "filter1.bst", "filter2.bst"]) + result.assert_success() + + # Now check that a ref field exists + new_input = _yaml.load(input_file) + assert new_input["sources"][0]["ref"] == ref + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_track_multi(datafiles, cli, tmpdir): + repo = create_repo('git', str(tmpdir)) + ref = repo.create(os.path.join(str(datafiles), "files")) + elements_dir = os.path.join(str(tmpdir), "elements") + project = str(tmpdir) + input_name = "input.bst" + input2_name = "input2.bst" + + project_config = { + "name": "filter-track-test", + "element-path": "elements", + } + project_file = os.path.join(str(tmpdir), "project.conf") + _yaml.dump(project_config, project_file) + + input_config = { + "kind": "import", + "sources": [repo.source_config()], + } + + input_file = os.path.join(elements_dir, input_name) + _yaml.dump(input_config, input_file) + + input2_config = dict(input_config) + input2_file = os.path.join(elements_dir, input2_name) + _yaml.dump(input2_config, input2_file) + + filter1_config = { + "kind": "filter", + "depends": [ + {"filename": input_name, "type": "build"} + ] + } + filter1_file = os.path.join(elements_dir, "filter1.bst") + _yaml.dump(filter1_config, filter1_file) + + filter2_config = { + "kind": "filter", + "depends": [ + {"filename": input2_name, "type": "build"} + ] + } + filter2_file = os.path.join(elements_dir, "filter2.bst") + _yaml.dump(filter2_config, filter2_file) + + # Assert that a fetch is needed + assert cli.get_element_state(project, input_name) == 'no reference' + assert cli.get_element_state(project, input2_name) == 'no reference' + + # Now try to track it + result = cli.run(project=project, args=["source", "track", "filter1.bst", "filter2.bst"]) + result.assert_success() + + # Now check that a ref field exists + new_input = _yaml.load(input_file) + assert new_input["sources"][0]["ref"] == ref + new_input2 = _yaml.load(input2_file) + assert new_input2["sources"][0]["ref"] == ref + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, 'basic')) +def test_filter_track_multi_exclude(datafiles, cli, tmpdir): + repo = create_repo('git', str(tmpdir)) + ref = repo.create(os.path.join(str(datafiles), "files")) + elements_dir = os.path.join(str(tmpdir), "elements") + project = str(tmpdir) + input_name = "input.bst" + input2_name = "input2.bst" + + project_config = { + "name": "filter-track-test", + "element-path": "elements", + } + project_file = os.path.join(str(tmpdir), "project.conf") + _yaml.dump(project_config, project_file) + + input_config = { + "kind": "import", + "sources": [repo.source_config()], + } + + input_file = os.path.join(elements_dir, input_name) + _yaml.dump(input_config, input_file) + + input2_config = dict(input_config) + input2_file = os.path.join(elements_dir, input2_name) + _yaml.dump(input2_config, input2_file) + + filter1_config = { + "kind": "filter", + "depends": [ + {"filename": input_name, "type": "build"} + ] + } + filter1_file = os.path.join(elements_dir, "filter1.bst") + _yaml.dump(filter1_config, filter1_file) + + filter2_config = { + "kind": "filter", + "depends": [ + {"filename": input2_name, "type": "build"} + ] + } + filter2_file = os.path.join(elements_dir, "filter2.bst") + _yaml.dump(filter2_config, filter2_file) + + # Assert that a fetch is needed + assert cli.get_element_state(project, input_name) == 'no reference' + assert cli.get_element_state(project, input2_name) == 'no reference' + + # Now try to track it + result = cli.run(project=project, args=["source", "track", "filter1.bst", "filter2.bst", "--except", input_name]) + result.assert_success() + + # Now check that a ref field exists + new_input = _yaml.load(input_file) + assert "ref" not in new_input["sources"][0] + new_input2 = _yaml.load(input2_file) + assert new_input2["sources"][0]["ref"] == ref diff --git a/tests/elements/filter/basic/element_plugins/dynamic.py b/tests/elements/filter/basic/element_plugins/dynamic.py new file mode 100644 index 000000000..1208a4a4d --- /dev/null +++ b/tests/elements/filter/basic/element_plugins/dynamic.py @@ -0,0 +1,35 @@ +from buildstream import Element, Scope + + +# Copies files from the dependent element but inserts split-rules using dynamic data +class DynamicElement(Element): + def configure(self, node): + self.node_validate(node, ['split-rules']) + self.split_rules = self.node_get_member(node, dict, 'split-rules') + + def preflight(self): + pass + + def get_unique_key(self): + return {'split-rules': self.split_rules} + + def configure_sandbox(self, sandbox): + pass + + def stage(self, sandbox): + pass + + def assemble(self, sandbox): + with self.timed_activity("Staging artifact", silent_nested=True): + for dep in self.dependencies(Scope.BUILD): + dep.stage_artifact(sandbox) + + bstdata = self.get_public_data("bst") + bstdata["split-rules"] = self.split_rules + self.set_public_data("bst", bstdata) + + return "" + + +def setup(): + return DynamicElement diff --git a/tests/elements/filter/basic/elements/deps-permitted.bst b/tests/elements/filter/basic/elements/deps-permitted.bst new file mode 100644 index 000000000..00883b1f8 --- /dev/null +++ b/tests/elements/filter/basic/elements/deps-permitted.bst @@ -0,0 +1,11 @@ +kind: filter +depends: +- filename: output-include.bst + type: build +- filename: output-exclude.bst + type: runtime +- filename: output-orphans.bst + type: runtime +config: + include: + - foo diff --git a/tests/elements/filter/basic/elements/forbidden-also-rdep.bst b/tests/elements/filter/basic/elements/forbidden-also-rdep.bst new file mode 100644 index 000000000..aa996a649 --- /dev/null +++ b/tests/elements/filter/basic/elements/forbidden-also-rdep.bst @@ -0,0 +1,8 @@ +kind: filter +depends: +- filename: output-include.bst + type: all +- filename: output-exclude.bst + type: runtime +- filename: output-orphans.bst + type: runtime diff --git a/tests/elements/filter/basic/elements/forbidden-multi-bdep.bst b/tests/elements/filter/basic/elements/forbidden-multi-bdep.bst new file mode 100644 index 000000000..2d5d0a2ca --- /dev/null +++ b/tests/elements/filter/basic/elements/forbidden-multi-bdep.bst @@ -0,0 +1,8 @@ +kind: filter +depends: +- filename: output-include.bst + type: build +- filename: output-exclude.bst + type: build +- filename: output-orphans.bst + type: runtime diff --git a/tests/elements/filter/basic/elements/forbidden-no-bdep.bst b/tests/elements/filter/basic/elements/forbidden-no-bdep.bst new file mode 100644 index 000000000..a7d405458 --- /dev/null +++ b/tests/elements/filter/basic/elements/forbidden-no-bdep.bst @@ -0,0 +1,8 @@ +kind: filter +depends: +- filename: output-include.bst + type: runtime +- filename: output-exclude.bst + type: runtime +- filename: output-orphans.bst + type: runtime diff --git a/tests/elements/filter/basic/elements/forbidden-source.bst b/tests/elements/filter/basic/elements/forbidden-source.bst new file mode 100644 index 000000000..d9eb07921 --- /dev/null +++ b/tests/elements/filter/basic/elements/forbidden-source.bst @@ -0,0 +1,10 @@ +kind: filter +depends: +- filename: output-include.bst + type: build +config: + include: + - foo +sources: +- kind: local + path: files diff --git a/tests/elements/filter/basic/elements/input-dynamic.bst b/tests/elements/filter/basic/elements/input-dynamic.bst new file mode 100644 index 000000000..e39cefe74 --- /dev/null +++ b/tests/elements/filter/basic/elements/input-dynamic.bst @@ -0,0 +1,10 @@ +kind: dynamic +depends: +- filename: input.bst + type: build +config: + split-rules: + foo: + - /foo + bar: + - /bar diff --git a/tests/elements/filter/basic/elements/input.bst b/tests/elements/filter/basic/elements/input.bst new file mode 100644 index 000000000..fb3f5d194 --- /dev/null +++ b/tests/elements/filter/basic/elements/input.bst @@ -0,0 +1,11 @@ +kind: import +sources: +- kind: local + path: files +public: + bst: + split-rules: + foo: + - /foo + bar: + - /bar diff --git a/tests/elements/filter/basic/elements/output-dynamic-include.bst b/tests/elements/filter/basic/elements/output-dynamic-include.bst new file mode 100644 index 000000000..ea45c96ef --- /dev/null +++ b/tests/elements/filter/basic/elements/output-dynamic-include.bst @@ -0,0 +1,7 @@ +kind: filter +depends: +- filename: input-dynamic.bst + type: build +config: + include: + - foo diff --git a/tests/elements/filter/basic/elements/output-exclude.bst b/tests/elements/filter/basic/elements/output-exclude.bst new file mode 100644 index 000000000..c1ec17a45 --- /dev/null +++ b/tests/elements/filter/basic/elements/output-exclude.bst @@ -0,0 +1,7 @@ +kind: filter +depends: +- filename: input.bst + type: build +config: + exclude: + - foo diff --git a/tests/elements/filter/basic/elements/output-include.bst b/tests/elements/filter/basic/elements/output-include.bst new file mode 100644 index 000000000..c05cbdb83 --- /dev/null +++ b/tests/elements/filter/basic/elements/output-include.bst @@ -0,0 +1,7 @@ +kind: filter +depends: +- filename: input.bst + type: build +config: + include: + - foo diff --git a/tests/elements/filter/basic/elements/output-orphans.bst b/tests/elements/filter/basic/elements/output-orphans.bst new file mode 100644 index 000000000..e682fca7a --- /dev/null +++ b/tests/elements/filter/basic/elements/output-orphans.bst @@ -0,0 +1,9 @@ +kind: filter +depends: +- filename: input.bst + type: build +config: + exclude: + - foo + - bar + include-orphans: True diff --git a/tests/elements/filter/basic/files/bar b/tests/elements/filter/basic/files/bar new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/elements/filter/basic/files/bar diff --git a/tests/elements/filter/basic/files/baz b/tests/elements/filter/basic/files/baz new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/elements/filter/basic/files/baz diff --git a/tests/elements/filter/basic/files/foo b/tests/elements/filter/basic/files/foo new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/elements/filter/basic/files/foo diff --git a/tests/elements/filter/basic/project.conf b/tests/elements/filter/basic/project.conf new file mode 100644 index 000000000..418ed02c6 --- /dev/null +++ b/tests/elements/filter/basic/project.conf @@ -0,0 +1,7 @@ +name: test +element-path: elements +plugins: +- origin: local + path: element_plugins + elements: + dynamic: 0 |