Drop doctest, as we aren't utilizing it

We should add back in some proper unit testing.  Doctest is rather limited,
and we haven't actually made use of it since the original implementation of
the datastore when the project started, as far as I'm aware.

(Bitbake rev: 3a11c2807972bbbddffde2fa67fc380d159da467)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Chris Larson 2010-04-09 11:49:36 -07:00 committed by Richard Purdie
parent 8306ba50db
commit bbf83fd988
3 changed files with 14 additions and 175 deletions

View File

@ -86,9 +86,3 @@ from bb.fetch import MalformedUrl, encodeurl, decodeurl
from bb.data import VarExpandError from bb.data import VarExpandError
from bb.utils import mkdirhier, movefile, copyfile, which from bb.utils import mkdirhier, movefile, copyfile, which
from bb.utils import vercmp_string as vercmp from bb.utils import vercmp_string as vercmp
if __name__ == "__main__":
import doctest, bb
bb.msg.set_debug_level(0)
doctest.testmod(bb)

View File

@ -77,90 +77,33 @@ def initVar(var, d):
def setVar(var, value, d): def setVar(var, value, d):
"""Set a variable to a given value """Set a variable to a given value"""
Example:
>>> d = init()
>>> setVar('TEST', 'testcontents', d)
>>> print getVar('TEST', d)
testcontents
"""
d.setVar(var,value) d.setVar(var,value)
def getVar(var, d, exp = 0): def getVar(var, d, exp = 0):
"""Gets the value of a variable """Gets the value of a variable"""
Example:
>>> d = init()
>>> setVar('TEST', 'testcontents', d)
>>> print getVar('TEST', d)
testcontents
"""
return d.getVar(var,exp) return d.getVar(var,exp)
def renameVar(key, newkey, d): def renameVar(key, newkey, d):
"""Renames a variable from key to newkey """Renames a variable from key to newkey"""
Example:
>>> d = init()
>>> setVar('TEST', 'testcontents', d)
>>> renameVar('TEST', 'TEST2', d)
>>> print getVar('TEST2', d)
testcontents
"""
d.renameVar(key, newkey) d.renameVar(key, newkey)
def delVar(var, d): def delVar(var, d):
"""Removes a variable from the data set """Removes a variable from the data set"""
Example:
>>> d = init()
>>> setVar('TEST', 'testcontents', d)
>>> print getVar('TEST', d)
testcontents
>>> delVar('TEST', d)
>>> print getVar('TEST', d)
None
"""
d.delVar(var) d.delVar(var)
def setVarFlag(var, flag, flagvalue, d): def setVarFlag(var, flag, flagvalue, d):
"""Set a flag for a given variable to a given value """Set a flag for a given variable to a given value"""
Example:
>>> d = init()
>>> setVarFlag('TEST', 'python', 1, d)
>>> print getVarFlag('TEST', 'python', d)
1
"""
d.setVarFlag(var,flag,flagvalue) d.setVarFlag(var,flag,flagvalue)
def getVarFlag(var, flag, d): def getVarFlag(var, flag, d):
"""Gets given flag from given var """Gets given flag from given var"""
Example:
>>> d = init()
>>> setVarFlag('TEST', 'python', 1, d)
>>> print getVarFlag('TEST', 'python', d)
1
"""
return d.getVarFlag(var,flag) return d.getVarFlag(var,flag)
def delVarFlag(var, flag, d): def delVarFlag(var, flag, d):
"""Removes a given flag from the variable's flags """Removes a given flag from the variable's flags"""
Example:
>>> d = init()
>>> setVarFlag('TEST', 'testflag', 1, d)
>>> print getVarFlag('TEST', 'testflag', d)
1
>>> delVarFlag('TEST', 'testflag', d)
>>> print getVarFlag('TEST', 'testflag', d)
None
"""
d.delVarFlag(var,flag) d.delVarFlag(var,flag)
def setVarFlags(var, flags, d): def setVarFlags(var, flags, d):
@ -170,54 +113,19 @@ def setVarFlags(var, flags, d):
setVarFlags will not clear previous setVarFlags will not clear previous
flags. Think of this method as flags. Think of this method as
addVarFlags addVarFlags
Example:
>>> d = init()
>>> myflags = {}
>>> myflags['test'] = 'blah'
>>> setVarFlags('TEST', myflags, d)
>>> print getVarFlag('TEST', 'test', d)
blah
""" """
d.setVarFlags(var,flags) d.setVarFlags(var,flags)
def getVarFlags(var, d): def getVarFlags(var, d):
"""Gets a variable's flags """Gets a variable's flags"""
Example:
>>> d = init()
>>> setVarFlag('TEST', 'test', 'blah', d)
>>> print getVarFlags('TEST', d)['test']
blah
"""
return d.getVarFlags(var) return d.getVarFlags(var)
def delVarFlags(var, d): def delVarFlags(var, d):
"""Removes a variable's flags """Removes a variable's flags"""
Example:
>>> data = init()
>>> setVarFlag('TEST', 'testflag', 1, data)
>>> print getVarFlag('TEST', 'testflag', data)
1
>>> delVarFlags('TEST', data)
>>> print getVarFlags('TEST', data)
None
"""
d.delVarFlags(var) d.delVarFlags(var)
def keys(d): def keys(d):
"""Return a list of keys in d """Return a list of keys in d"""
Example:
>>> d = init()
>>> setVar('TEST', 1, d)
>>> setVar('MOO' , 2, d)
>>> setVarFlag('TEST', 'test', 1, d)
>>> keys(d)
['TEST', 'MOO']
"""
return d.keys() return d.keys()
def getData(d): def getData(d):
@ -253,32 +161,7 @@ __expand_var_regexp__ = re.compile(r"\${[^{}]+}")
__expand_python_regexp__ = re.compile(r"\${@.+?}") __expand_python_regexp__ = re.compile(r"\${@.+?}")
def expand(s, d, varname = None): def expand(s, d, varname = None):
"""Variable expansion using the data store. """Variable expansion using the data store"""
Example:
Standard expansion:
>>> d = init()
>>> setVar('A', 'sshd', d)
>>> print expand('/usr/bin/${A}', d)
/usr/bin/sshd
Python expansion:
>>> d = init()
>>> print expand('result: ${@37 * 72}', d)
result: 2664
Shell expansion:
>>> d = init()
>>> print expand('${TARGET_MOO}', d)
${TARGET_MOO}
>>> setVar('TARGET_MOO', 'yupp', d)
>>> print expand('${TARGET_MOO}',d)
yupp
>>> setVar('SRC_URI', 'http://somebug.${TARGET_MOO}', d)
>>> delVar('TARGET_MOO', d)
>>> print expand('${SRC_URI}', d)
http://somebug.${TARGET_MOO}
"""
return d.expand(s, varname) return d.expand(s, varname)
def expandKeys(alterdata, readdata = None): def expandKeys(alterdata, readdata = None):
@ -304,17 +187,8 @@ def expandKeys(alterdata, readdata = None):
def expandData(alterdata, readdata = None): def expandData(alterdata, readdata = None):
"""For each variable in alterdata, expand it, and update the var contents. """For each variable in alterdata, expand it, and update the var contents.
Replacements use data from readdata. Replacements use data from readdata
"""
Example:
>>> a=init()
>>> b=init()
>>> setVar("dlmsg", "dl_dir is ${DL_DIR}", a)
>>> setVar("DL_DIR", "/path/to/whatever", b)
>>> expandData(a, b)
>>> print getVar("dlmsg", a)
dl_dir is /path/to/whatever
"""
if readdata == None: if readdata == None:
readdata = alterdata readdata = alterdata
@ -418,14 +292,3 @@ def inherits_class(klass, d):
if os.path.join('classes', '%s.bbclass' % klass) in val: if os.path.join('classes', '%s.bbclass' % klass) in val:
return True return True
return False return False
def _test():
"""Start a doctest run on this module"""
import doctest
import bb
from bb import data
bb.msg.set_debug_level(0)
doctest.testmod(data)
if __name__ == "__main__":
_test()

View File

@ -97,14 +97,7 @@ _package_ends_ = ["pre", "p", "alpha", "beta", "rc", "cvs", "bk", "HEAD" ]
def relparse(myver): def relparse(myver):
"""Parses the last elements of a version number into a triplet, that can """Parses the last elements of a version number into a triplet, that can
later be compared: later be compared.
>>> relparse('1.2_pre3')
[1.2, -2, 3.0]
>>> relparse('1.2b')
[1.2, 98, 0]
>>> relparse('1.2')
[1.2, 0, 0]
""" """
number = 0 number = 0
@ -150,17 +143,6 @@ __vercmp_cache__ = {}
def vercmp_string(val1,val2): def vercmp_string(val1,val2):
"""This takes two version strings and returns an integer to tell you whether """This takes two version strings and returns an integer to tell you whether
the versions are the same, val1>val2 or val2>val1. the versions are the same, val1>val2 or val2>val1.
>>> vercmp('1', '2')
-1.0
>>> vercmp('2', '1')
1.0
>>> vercmp('1', '1.0')
0
>>> vercmp('1', '1.1')
-1.0
>>> vercmp('1.1', '1_p2')
1.0
""" """
# quick short-circuit # quick short-circuit