From 14ce53526ead7f8202021557929bbc557c808535 Mon Sep 17 00:00:00 2001 From: Francisco Ramirez de Anton Date: Thu, 5 Aug 2021 12:09:58 +0200 Subject: [PATCH 1/3] Handling conanfile.layout() traceback output --- conans/client/conanfile/configure.py | 3 ++- conans/test/integration/conanfile/test_exception_printing.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/conans/client/conanfile/configure.py b/conans/client/conanfile/configure.py index ae6a6962fce..c02ecef911b 100644 --- a/conans/client/conanfile/configure.py +++ b/conans/client/conanfile/configure.py @@ -41,4 +41,5 @@ def run_configure_method(conanfile, down_options, down_ref, ref): # Once the node is configured call the layout() if hasattr(conanfile, "layout"): - conanfile.layout() + with conanfile_exception_formatter(str(conanfile), "layout"): + conanfile.layout() diff --git a/conans/test/integration/conanfile/test_exception_printing.py b/conans/test/integration/conanfile/test_exception_printing.py index bfcb9cb5df5..a9cae36e376 100644 --- a/conans/test/integration/conanfile/test_exception_printing.py +++ b/conans/test/integration/conanfile/test_exception_printing.py @@ -31,7 +31,7 @@ def test_all_methods(direct): else: throw = "self._aux_method()" for method in ["source", "build", "package", "package_info", "configure", "build_id", - "package_id", "requirements", "config_options"]: + "package_id", "requirements", "config_options", "layout"]: client.save({CONANFILE: conanfile.format(method=method, method_contents=throw)}) client.run("create . ", assert_error=True) assert "exceptions/0.1: Error in %s() method, line 12" % method in client.out From 019bb20017852a46825fbf9e10b6b3663fc08870 Mon Sep 17 00:00:00 2001 From: Francisco Ramirez de Anton Date: Thu, 5 Aug 2021 12:50:31 +0200 Subject: [PATCH 2/3] Added generate() method as well --- conans/test/integration/conanfile/test_exception_printing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conans/test/integration/conanfile/test_exception_printing.py b/conans/test/integration/conanfile/test_exception_printing.py index a9cae36e376..accec7b0183 100644 --- a/conans/test/integration/conanfile/test_exception_printing.py +++ b/conans/test/integration/conanfile/test_exception_printing.py @@ -31,7 +31,7 @@ def test_all_methods(direct): else: throw = "self._aux_method()" for method in ["source", "build", "package", "package_info", "configure", "build_id", - "package_id", "requirements", "config_options", "layout"]: + "package_id", "requirements", "config_options", "layout", "generate"]: client.save({CONANFILE: conanfile.format(method=method, method_contents=throw)}) client.run("create . ", assert_error=True) assert "exceptions/0.1: Error in %s() method, line 12" % method in client.out From 6d78ede52f97cb431214d3cb8c370a1de05f0223 Mon Sep 17 00:00:00 2001 From: Francisco Ramirez de Anton Date: Thu, 5 Aug 2021 13:01:20 +0200 Subject: [PATCH 3/3] Added export methods as well --- conans/test/integration/conanfile/test_exception_printing.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conans/test/integration/conanfile/test_exception_printing.py b/conans/test/integration/conanfile/test_exception_printing.py index accec7b0183..dc8982afbe0 100644 --- a/conans/test/integration/conanfile/test_exception_printing.py +++ b/conans/test/integration/conanfile/test_exception_printing.py @@ -31,7 +31,8 @@ def test_all_methods(direct): else: throw = "self._aux_method()" for method in ["source", "build", "package", "package_info", "configure", "build_id", - "package_id", "requirements", "config_options", "layout", "generate"]: + "package_id", "requirements", "config_options", "layout", "generate", "export", + "export_sources"]: client.save({CONANFILE: conanfile.format(method=method, method_contents=throw)}) client.run("create . ", assert_error=True) assert "exceptions/0.1: Error in %s() method, line 12" % method in client.out