From 465853dd4c16944a5bd2d75e1dba8c89688d1700 Mon Sep 17 00:00:00 2001 From: hu-weihua Date: Wed, 4 May 2016 02:00:17 -0400 Subject: [PATCH] support running cases in the sequence which bundle file defined --- xCAT-test/xcattest | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/xCAT-test/xcattest b/xCAT-test/xcattest index d84c965f3..e33945ac4 100755 --- a/xCAT-test/xcattest +++ b/xCAT-test/xcattest @@ -94,6 +94,7 @@ if($ret != 0){ goto EXIT; } #run case +&reordercases; &runcase; EXIT: @@ -926,3 +927,42 @@ close(STDOUT); } +sub reordercases{ + my @caserange = (); + my $line; + if($bundle_list){ + my @bundles = split /,/, $bundle_list; + foreach my $bundle (@bundles){ + if(!open(FILE, "<$rootdir/bundle/$bundle")){ + log_this("can't open $rootdir/bundle/$bundle"); + return 1; + } + while($line=){ + $line = trim($line); + next if(length($line) == 0); + push(@caserange, $line); + } + close(FILE); + } + } + if($case_list){ + @caserange = split /,/, $case_list; + } + + my @tmpcases=(); + foreach my $case (@caserange){ + my $i=0; + my $hit=0; + foreach my $runcase (@cases){ + if($runcase->{name} eq $case){ + $hit=1; + last; + } + $i++; + next; + } + push(@tmpcases, $cases[$i]) if($hit); + } + @cases=@tmpcases; +} +