X-Git-Url: http://git.efficios.com/?p=deliverable%2Flttng-ivc.git;a=blobdiff_plain;f=lttng_ivc%2Ftests%2Fust_soname_vs_tools%2Ftest_ust_so_name_vs_tools.py;h=f45a38ce9e1a1d439e52060409c50bdf4a8604d4;hp=d3b1f1a07e9b8cd5e9e9a56fc9fd9e2eeeab27e7;hb=477f18e866a3454f769a26d0656f0a318b23c43f;hpb=de9b991ba1163882d83d4b60030014fedb8300cc diff --git a/lttng_ivc/tests/ust_soname_vs_tools/test_ust_so_name_vs_tools.py b/lttng_ivc/tests/ust_soname_vs_tools/test_ust_so_name_vs_tools.py index d3b1f1a..f45a38c 100644 --- a/lttng_ivc/tests/ust_soname_vs_tools/test_ust_so_name_vs_tools.py +++ b/lttng_ivc/tests/ust_soname_vs_tools/test_ust_so_name_vs_tools.py @@ -1,11 +1,31 @@ +# Copyright (c) 2017 Jonathan Rajotte-Julien +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + import pytest import subprocess import lttng_ivc.utils.ProjectFactory as ProjectFactory -import lttng_ivc.settings as project_settings +import lttng_ivc.settings as Settings """ -TODO: Document how the tests is donne and what it tests +TODO: Document how the tests is done and what it tests At configure time At build time @@ -55,31 +75,31 @@ test_matrix_label = [ ("lttng-ust-2.9", "lttng-tools-2.8", "lttng-ust-2.8", True), ("lttng-ust-2.9", "lttng-tools-2.9", "lttng-ust-2.9", True), ("lttng-ust-2.9", "lttng-tools-2.10", "lttng-ust-2.10", False), - ("lttng-ust-2.10", "lttng-tools-2.7", "lttng-ust-2.7", False), - ("lttng-ust-2.10", "lttng-tools-2.8", "lttng-ust-2.8", False), - ("lttng-ust-2.10", "lttng-tools-2.9", "lttng-ust-2.9", False), + pytest.param("lttng-ust-2.10", "lttng-tools-2.7", "lttng-ust-2.7", False, marks=pytest.mark.xfail(reason="Should fail but does not ....")), + pytest.param("lttng-ust-2.10", "lttng-tools-2.8", "lttng-ust-2.8", False, marks=pytest.mark.xfail(reason="Should fail but does not ....")), + pytest.param("lttng-ust-2.10", "lttng-tools-2.9", "lttng-ust-2.9", False, marks=pytest.mark.xfail(reason="Should fail but does not ....")), ("lttng-ust-2.10", "lttng-tools-2.10", "lttng-ust-2.10", True), ] runtime_matrix_label = [] -if not project_settings.test_only: +if not Settings.test_only: runtime_matrix_label = test_matrix_label else: for tup in test_matrix_label: ust_label, tools_label = tup[0], tup[1] - if (ust_label in project_settings.test_only or tools_label in - project_settings.test_only): + if (ust_label in Settings.test_only or tools_label in + Settings.test_only): runtime_matrix_label.append(tup) @pytest.mark.parametrize("ust_label,tools_label,base_tools_ust_dep,should_pass", runtime_matrix_label) def test_soname_configure(tmpdir, ust_label, tools_label, base_tools_ust_dep, should_pass): - ust = ProjectFactory.get(ust_label, str(tmpdir.mkdir("lttng-ust"))) - tools = ProjectFactory.get(tools_label, str(tmpdir.mkdir("lttng-tools"))) + ust = ProjectFactory.get_fresh(ust_label, str(tmpdir.mkdir("lttng-ust"))) + tools = ProjectFactory.get_fresh(tools_label, str(tmpdir.mkdir("lttng-tools"))) ust.autobuild() - tools.dependencies.append(ust) + tools.dependencies['custom-ust'] = ust # TODO: Propose fixes to upstream regarding the check if not should_pass: # Making sure we get a error here @@ -97,15 +117,17 @@ def test_soname_configure(tmpdir, ust_label, tools_label, base_tools_ust_dep, sh @pytest.mark.parametrize("ust_label,tools_label,base_tools_ust_dep,should_pass", runtime_matrix_label) def test_soname_build(tmpdir, ust_label, tools_label, base_tools_ust_dep, should_pass): - ust = ProjectFactory.get(ust_label, str(tmpdir.mkdir("lttng-ust"))) - tools = ProjectFactory.get(tools_label, str(tmpdir.mkdir("lttng-tools"))) - ust_configure_mockup = ProjectFactory.get(ust_label, str(tmpdir.mkdir("lttng-ust-base"))) + ust = ProjectFactory.get_fresh(ust_label, str(tmpdir.mkdir("lttng-ust"))) + tools = ProjectFactory.get_fresh(tools_label, + str(tmpdir.mkdir("lttng-tools"))) + ust_configure_mockup = ProjectFactory.get_fresh(ust_label, + str(tmpdir.mkdir("lttng-ust-base"))) ust.autobuild() ust_configure_mockup.autobuild() # Fool configure - tools.dependencies.append(ust_configure_mockup) + tools.dependencies['custom-ust'] = ust_configure_mockup tools.configure() # Use ust under test