[Libvirt-cim] [PATCH 1 of 2] [TEST] Add get_subset_test_list(): lists the tests in a given set of test dirs

Deepti B Kalakeri deeptik at linux.vnet.ibm.com
Thu Nov 19 12:25:15 UTC 2009


+1

Kaitlin Rupert wrote:
> # HG changeset patch
> # User Kaitlin Rupert <karupert at us.ibm.com>
> # Date 1258580377 28800
> # Node ID dfe044c37ec5b9f87db1a377743d9b928180018c
> # Parent  c7907449b007aece4418f03272d8754b5fd41ac2
> [TEST] Add get_subset_test_list(): lists the tests in a given set of test dirs
>
> This function allows you to get the list of tests in the specified directories.
> It supports two ways of specifying directories:
>
> [dir1:dir2]  or [dir1,dir2,dir3]
>
> Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>
>
> diff -r c7907449b007 -r dfe044c37ec5 lib/VirtLib/groups.py
> --- a/lib/VirtLib/groups.py	Mon Nov 09 13:24:52 2009 -0800
> +++ b/lib/VirtLib/groups.py	Wed Nov 18 13:39:37 2009 -0800
> @@ -37,7 +37,18 @@
>          if os.path.isdir(group_p):
>              ret.append(filename)
>
> -    ret.sort()
> +    #sort() doesn't handle upper and lower case comparisons properly.
> +    #The following manipulation will ensure the list is in the same
> +    #order 'ls' returns on a directory
> +    tmp = []
> +    for i, group in enumerate(ret):
> +        tmp.append([group.lower(), group])
> +
> +    tmp.sort()
> +    ret = []
> +    for key, group in tmp:
> +        ret.append(group)
> +
>      return ret
>
>  def list_tests_in_group(test_suite, group_name):
> @@ -93,3 +104,46 @@
>              ret.append({ 'group': group, 'test': test})
>              
>      return ret
> +
> +def get_subset_test_list(test_suite, test_subset):
> +    """Return a list of dictionaries for a specific set of groups.
> +       It will contain the group and test filename
> +    """
> +    ret = []
> +  
> +    str = test_subset.strip('[]')
> +
> +    if test_subset.find(",") >= 0:
> +        groups = str.split(',')
> +
> +    elif test_subset.find(":") >= 0:
> +        groups = str.split(':')
> +        if len(groups) != 2:
> +            return ret
> +
> +        all_groups = list_groups(test_suite)
> +        index_start = all_groups.index(groups[0])
> +        index_end = all_groups.index(groups[1])
> +
> +        if index_start < 0:
> +            print "Group %s (%d) was not found" % (groups[0], index_start)
> +            return ret
> +        elif index_end < 0:
> +            print "Group %s (%d) was not found" % (groups[1], index_end)
> +            return ret
> +        elif index_end < index_start:
> +            print "Group %s's index (%d) is < Group %s's index (%d)" % \
> +                   (groups[1], index_end, groups[0], index_start)
> +            return ret
> +
> +        groups = all_groups[index_start:index_end + 1]
> +
> +    else:
> +        return ret
> +
> +    for group in groups:
> +        tmp = get_group_test_list(test_suite, group)
> +        ret = ret + tmp
> +
> +    return ret
> +
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
>   

-- 
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik at linux.vnet.ibm.com




More information about the Libvirt-cim mailing list