From: Frederic Martinsons Date: Thu, 6 Jul 2023 09:16:16 +0000 (+0200) Subject: ptest-cargo.bbclass: fix condition to detect test executable X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~362 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8dd52f19a919fb7be0ffb7d40782eafe183f8a09;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git ptest-cargo.bbclass: fix condition to detect test executable before that, a test executable at None was picked. Moreover, use universal_newlines to subprocess call to avoid being polluted by fancy carriage return characters. Signed-off-by: Frederic Martinsons Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- diff --git a/meta/classes-recipe/ptest-cargo.bbclass b/meta/classes-recipe/ptest-cargo.bbclass index 4ed528445a7..5d53abe9691 100644 --- a/meta/classes-recipe/ptest-cargo.bbclass +++ b/meta/classes-recipe/ptest-cargo.bbclass @@ -23,13 +23,13 @@ python do_compile_ptest_cargo() { bb.note(f"Building tests with cargo ({cmd})") try: - proc = subprocess.Popen(cmd, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + proc = subprocess.Popen(cmd, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True) except subprocess.CalledProcessError as e: bb.fatal(f"Cannot build test with cargo: {e}") lines = [] for line in proc.stdout: - data = line.decode('utf-8').strip('\n') + data = line.strip('\n') lines.append(data) bb.note(data) proc.communicate() @@ -50,7 +50,7 @@ python do_compile_ptest_cargo() { current_manifest_path = os.path.normpath(data['manifest_path']) project_manifest_path = os.path.normpath(manifest_path) if current_manifest_path == project_manifest_path: - if data['target']['test'] or data['target']['doctest'] and data['executable']: + if (data['target']['test'] or data['target']['doctest']) and data['executable']: test_bins.append(data['executable']) except KeyError as e: # skip lines that do not meet the requirements