diff options
Diffstat (limited to 'lib/bittest/config.py')
-rw-r--r-- | lib/bittest/config.py | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/lib/bittest/config.py b/lib/bittest/config.py new file mode 100644 index 0000000000..ea1dfc37d5 --- /dev/null +++ b/lib/bittest/config.py @@ -0,0 +1,79 @@ +# ex:ts=4:sw=4:sts=4:et +# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- +# +# +# Copyright (C) 2005 Holger Hans Peter Freyther +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# Neither the name Holger Hans Peter Freyther nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +""" +Config Utility to parse bitttest/doctest related configuration resources +""" + +__version__ = 0.2 + +import bb + +def __build_array(string): + """ + Build an array out of the string [abc.def] + """ + ar = [] + tmp = string.split('.') + + for item in tmp: + ar.append( item.strip().strip('[').strip(']').strip() ) + + return ar + +def parse_test_options(cfg): + """ + Parse the test options from the TEST_CONFIGS key normally found in the + testrun.conf + """ + + config = [] + data = bb.data.getVar('TEST_CONFIGS', cfg) + data = data.split(' ') + + for tuple in data: + # Lame ass splitting + g = tuple.split(',') + # Split the tuple by hand + a = g[0].strip().strip('(').strip() + b = g[1].strip() + c = g[2].strip() + + # [a.b] + d = __build_array(g[3].strip(')').strip()) + + # now append + config.append( (a,b,c,d) ) + + return config |