oeqa/utils: Fixed a problem with get_bb_var not returning right variable.

It searches using regex now and should be more accurate.

(From OE-Core rev: 1ae7e1cc4a5c7a217dee937c330539e5c8ac794d)

Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Lucian Musat
2015-05-12 18:00:06 +03:00
committed by Richard Purdie
parent 13fb8554b7
commit 3e7dde7d16

View File

@@ -16,6 +16,7 @@ import threading
import logging
from oeqa.utils import CommandError
from oeqa.utils import ftools
import re
class Command(object):
def __init__(self, command, bg=False, timeout=None, data=None, **options):
@@ -139,11 +140,11 @@ def get_bb_var(var, target=None, postconfig=None):
bbenv = get_bb_env(target, postconfig=postconfig)
lastline = None
for line in bbenv.splitlines():
if line.startswith(var + "=") or line.startswith("export " + var + "="):
if re.search("^(export )?%s=" % var, line):
val = line.split('=')[1]
val = val.strip('\"')
break
elif line.startswith("unset " + var):
elif re.match("unset %s$" % var, line):
# Handle [unexport] variables
if lastline.startswith('# "'):
val = lastline.split('\"')[1]