# 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