645dd61cd2
The purpose of oe-selftest is to run unittest modules added from meta/lib/oeqa/selftest, which are tests against bitbake tools. Right now the script it's useful for simple tests like: - "bitbake --someoption, change some metadata, bitbake X, check something" type scenarios (PR service, error output, etc) - or "bitbake-layers <...>" type scripts and yocto-bsp tools. This commit also adds some helper modules that the tests will use and a base class. Also, most of the tests will have a dependency on a meta-selftest layer which contains specially modified recipes/bbappends/include files for the purpose of the tests. The tests themselves will usually write to ".inc" files from the layer or in conf/selftest.inc (which is added as an include in local.conf at the start and removed at the end) It's a simple matter or sourcing the enviroment, adding the meta-selftest layer to bblayers.conf and running: oe-selftest to get some results. It would finish faster if at least a core-image-minimal was built before. [ YOCTO #4740 ] (From OE-Core rev: 41a4f8fb005328d3a631a9036ceb6dcf75754410) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
28 lines
636 B
Python
28 lines
636 B
Python
import os
|
|
import re
|
|
|
|
def write_file(path, data):
|
|
wdata = data.rstrip() + "\n"
|
|
with open(path, "w") as f:
|
|
f.write(wdata)
|
|
|
|
def append_file(path, data):
|
|
wdata = data.rstrip() + "\n"
|
|
with open(path, "a") as f:
|
|
f.write(wdata)
|
|
|
|
def read_file(path):
|
|
data = None
|
|
with open(path) as f:
|
|
data = f.read()
|
|
return data
|
|
|
|
def remove_from_file(path, data):
|
|
lines = read_file(path).splitlines()
|
|
rmdata = data.strip().splitlines()
|
|
for l in rmdata:
|
|
for c in range(0, lines.count(l)):
|
|
i = lines.index(l)
|
|
del(lines[i])
|
|
write_file(path, "\n".join(lines))
|