summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/ptest-cargo.bbclass
diff options
context:
space:
mode:
authorFrederic Martinsons <frederic.martinsons@gmail.com>2023-07-06 11:16:16 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-07-14 17:31:06 +0100
commitf782c806a41c3a1611a8ad8484f63030179c2410 (patch)
tree04c372f1c2c57f6897dca5f612161f592bfa3229 /meta/classes-recipe/ptest-cargo.bbclass
parenta48de87ca7b5aa9beea3ffd0ca17428c4d8358ab (diff)
downloadpoky-f782c806a41c3a1611a8ad8484f63030179c2410.tar.gz
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. (From OE-Core rev: 8dd52f19a919fb7be0ffb7d40782eafe183f8a09) Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe/ptest-cargo.bbclass')
-rw-r--r--meta/classes-recipe/ptest-cargo.bbclass6
1 files changed, 3 insertions, 3 deletions
diff --git a/meta/classes-recipe/ptest-cargo.bbclass b/meta/classes-recipe/ptest-cargo.bbclass
index 4ed528445a..5d53abe969 100644
--- a/meta/classes-recipe/ptest-cargo.bbclass
+++ b/meta/classes-recipe/ptest-cargo.bbclass
@@ -23,13 +23,13 @@ python do_compile_ptest_cargo() {
23 bb.note(f"Building tests with cargo ({cmd})") 23 bb.note(f"Building tests with cargo ({cmd})")
24 24
25 try: 25 try:
26 proc = subprocess.Popen(cmd, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 26 proc = subprocess.Popen(cmd, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True)
27 except subprocess.CalledProcessError as e: 27 except subprocess.CalledProcessError as e:
28 bb.fatal(f"Cannot build test with cargo: {e}") 28 bb.fatal(f"Cannot build test with cargo: {e}")
29 29
30 lines = [] 30 lines = []
31 for line in proc.stdout: 31 for line in proc.stdout:
32 data = line.decode('utf-8').strip('\n') 32 data = line.strip('\n')
33 lines.append(data) 33 lines.append(data)
34 bb.note(data) 34 bb.note(data)
35 proc.communicate() 35 proc.communicate()
@@ -50,7 +50,7 @@ python do_compile_ptest_cargo() {
50 current_manifest_path = os.path.normpath(data['manifest_path']) 50 current_manifest_path = os.path.normpath(data['manifest_path'])
51 project_manifest_path = os.path.normpath(manifest_path) 51 project_manifest_path = os.path.normpath(manifest_path)
52 if current_manifest_path == project_manifest_path: 52 if current_manifest_path == project_manifest_path:
53 if data['target']['test'] or data['target']['doctest'] and data['executable']: 53 if (data['target']['test'] or data['target']['doctest']) and data['executable']:
54 test_bins.append(data['executable']) 54 test_bins.append(data['executable'])
55 except KeyError as e: 55 except KeyError as e:
56 # skip lines that do not meet the requirements 56 # skip lines that do not meet the requirements