Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Side by Side Diff: mozilla-tests/pattern-extracter.pl

Issue 2865028: Update the mozilla tests to new version (as of 2010-06-29). (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « mozilla-tests/pattern-expander.pl ('k') | mozilla-tests/performance-1.8.0.tests » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/perl -w 1 #!/usr/bin/perl -w
2 # -*- Mode: Perl; tab-width: 4; indent-tabs-mode: nil; -*- 2 # -*- Mode: Perl; tab-width: 4; indent-tabs-mode: nil; -*-
3 # ***** BEGIN LICENSE BLOCK ***** 3 # ***** BEGIN LICENSE BLOCK *****
4 # Version: MPL 1.1/GPL 2.0/LGPL 2.1 4 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 # 5 #
6 # The contents of this file are subject to the Mozilla Public License Version 6 # The contents of this file are subject to the Mozilla Public License Version
7 # 1.1 (the "License"); you may not use this file except in compliance with 7 # 1.1 (the "License"); you may not use this file except in compliance with
8 # the License. You may obtain a copy of the License at 8 # the License. You may obtain a copy of the License at
9 # http://www.mozilla.org/MPL/ 9 # http://www.mozilla.org/MPL/
10 # 10 #
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 my $i; 68 my $i;
69 my $j; 69 my $j;
70 my $v; 70 my $v;
71 71
72 while (<ARGV>) { 72 while (<ARGV>) {
73 73
74 chomp; 74 chomp;
75 75
76 $recordcurr = {}; 76 $recordcurr = {};
77 77
78 my ($test_id, $test_branch, $test_repo, $test_buildtype, $test_type, $te st_os, $test_kernel, $test_processortype, $test_memory, $test_cpuspeed, $test_ti mezone, $test_result, $test_exitstatus, $test_description) = $_ =~ 78 my ($test_id, $test_branch, $test_repo, $test_buildtype, $test_type, $te st_os, $test_kernel, $test_processortype, $test_memory, $test_timezone, $test_op tions, $test_result, $test_exitstatus, $test_description) = $_ =~
79 /TEST_ID=([^,]*), TEST_BRANCH=([^,]*), TEST_REPO=([^,]*), TEST_BUILD TYPE=([^,]*), TEST_TYPE=([^,]*), TEST_OS=([^,]*), TEST_KERNEL=([^,]*), TEST_PROC ESSORTYPE=([^,]*), TEST_MEMORY=([^,]*), TEST_CPUSPEED=([^,]*), TEST_TIMEZONE=([^ ,]*), TEST_RESULT=([^,]*), TEST_EXITSTATUS=([^,]*), TEST_DESCRIPTION=(.*)/; 79 /TEST_ID=([^,]*), TEST_BRANCH=([^,]*), TEST_REPO=([^,]*), TEST_BUILD TYPE=([^,]*), TEST_TYPE=([^,]*), TEST_OS=([^,]*), TEST_KERNEL=([^,]*), TEST_PROC ESSORTYPE=([^,]*), TEST_MEMORY=([^,]*), TEST_TIMEZONE=([^,]*), TEST_OPTIONS=([^, ]*), TEST_RESULT=([^,]*), TEST_EXITSTATUS=([^,]*), TEST_DESCRIPTION=(.*)/;
80 80
81 $recordcurr->{TEST_ID} = $test_id; 81 $recordcurr->{TEST_ID} = $test_id;
82 $recordcurr->{TEST_BRANCH} = $test_branch; 82 $recordcurr->{TEST_BRANCH} = $test_branch;
83 $recordcurr->{TEST_REPO} = $test_repo; 83 $recordcurr->{TEST_REPO} = $test_repo;
84 $recordcurr->{TEST_BUILDTYPE} = $test_buildtype; 84 $recordcurr->{TEST_BUILDTYPE} = $test_buildtype;
85 $recordcurr->{TEST_TYPE} = $test_type; 85 $recordcurr->{TEST_TYPE} = $test_type;
86 $recordcurr->{TEST_OS} = $test_os; 86 $recordcurr->{TEST_OS} = $test_os;
87 $recordcurr->{TEST_KERNEL} = $test_kernel; 87 $recordcurr->{TEST_KERNEL} = $test_kernel;
88 $recordcurr->{TEST_PROCESSORTYPE} = $test_processortype; 88 $recordcurr->{TEST_PROCESSORTYPE} = $test_processortype;
89 $recordcurr->{TEST_MEMORY} = $test_memory; 89 $recordcurr->{TEST_MEMORY} = $test_memory;
90 $recordcurr->{TEST_CPUSPEED} = $test_cpuspeed;
91 $recordcurr->{TEST_TIMEZONE} = $test_timezone; 90 $recordcurr->{TEST_TIMEZONE} = $test_timezone;
91 $recordcurr->{TEST_OPTIONS} = $test_options;
92 $recordcurr->{TEST_RESULT} = $test_result; 92 $recordcurr->{TEST_RESULT} = $test_result;
93 $recordcurr->{TEST_EXITSTATUS} = $test_exitstatus; 93 $recordcurr->{TEST_EXITSTATUS} = $test_exitstatus;
94 $recordcurr->{TEST_DESCRIPTION} = $test_description; 94 $recordcurr->{TEST_DESCRIPTION} = $test_description;
95 95
96 push @records, ($recordcurr); 96 push @records, ($recordcurr);
97 } 97 }
98 98
99 for ($j = $#universefields; $j >= 0; $j--) 99 for ($j = $#universefields; $j >= 0; $j--)
100 { 100 {
101 $universefield = $universefields[$j]; 101 $universefield = $universefields[$j];
(...skipping 21 matching lines...) Expand all
123 dbg("processfile: \$keycurr=$keycurr"); 123 dbg("processfile: \$keycurr=$keycurr");
124 124
125 if ($keycurr ne $keyprev) 125 if ($keycurr ne $keyprev)
126 { 126 {
127 # key changed, must output previous record 127 # key changed, must output previous record
128 dbg("processfile: new key"); 128 dbg("processfile: new key");
129 $universefielduniversekey = getuniversekey($recordprev, $univers efield); 129 $universefielduniversekey = getuniversekey($recordprev, $univers efield);
130 @universefielduniverse = getuniverse($universefielduniversekey, $universefield); 130 @universefielduniverse = getuniverse($universefielduniversekey, $universefield);
131 dbg("processfile: \@values: ". join(',', @values)); 131 dbg("processfile: \@values: ". join(',', @values));
132 dbg("processfile: \$universefielduniversekey=$universefieldunive rsekey, \@universefielduniverse=" . join(',', @universefielduniverse)); 132 dbg("processfile: \$universefielduniversekey=$universefieldunive rsekey, \@universefielduniverse=" . join(',', @universefielduniverse));
133 @values = ('.*') if (arraysequal(\@values, \@universefielduniver se)); 133 @values = ('.*') if (arraysequal($universefield, \@values, \@uni versefielduniverse));
134 dbg("processfile: \@values=" . join(',', @values)); 134 dbg("processfile: \@values=" . join(',', @values));
135 135
136 for ($v = 0; $v < @values; $v++) 136 for ($v = 0; $v < @values; $v++)
137 { 137 {
138 dbg("processfile: stuffing $values[$v]"); 138 dbg("processfile: stuffing $values[$v]");
139 $recordtemp = copyreference($recordprev); 139 $recordtemp = copyreference($recordprev);
140 $recordtemp->{$universefield} = $values[$v]; 140 $recordtemp->{$universefield} = $values[$v];
141 dbg("processfile: stuffed $recordtemp->{$universefield}"); 141 dbg("processfile: stuffed $recordtemp->{$universefield}");
142 dbg("processfile: recordprev: " . recordtostring($recordprev )); 142 dbg("processfile: recordprev: " . recordtostring($recordprev ));
143 dbg("processfile: output: " . recordtostring($recordtemp)); 143 dbg("processfile: output: " . recordtostring($recordtemp));
144 push @output, ($recordtemp); 144 push @output, ($recordtemp);
145 } 145 }
146 @values = (); 146 @values = ();
147 } 147 }
148 dbg("processfile: collecting \$recordcurr->{$universefield}=$recordc urr->{$universefield}"); 148 dbg("processfile: collecting \$recordcurr->{$universefield}=$recordc urr->{$universefield}");
149 push @values, ($recordcurr->{$universefield}); 149 push @values, ($recordcurr->{$universefield});
150 $keyprev = $keycurr; 150 $keyprev = $keycurr;
151 $recordprev = $recordcurr; 151 $recordprev = $recordcurr;
152 } 152 }
153 dbg("processfile: finish processing records for \$universefields[$j]=$un iversefield"); 153 dbg("processfile: finish processing records for \$universefields[$j]=$un iversefield");
154 if (@values) 154 if (@values)
155 { 155 {
156 dbg("processfile: last record for \$universefields[$j]=$universefiel d has pending values"); 156 dbg("processfile: last record for \$universefields[$j]=$universefiel d has pending values");
157 $universefielduniversekey = getuniversekey($recordprev, $universefie ld); 157 $universefielduniversekey = getuniversekey($recordprev, $universefie ld);
158 @universefielduniverse = getuniverse($universefielduniversekey, $uni versefield); 158 @universefielduniverse = getuniverse($universefielduniversekey, $uni versefield);
159 dbg("processfile: \@values: ". join(',', @values)); 159 dbg("processfile: \@values: ". join(',', @values));
160 dbg("processfile: \$universefielduniversekey=$universefielduniversek ey, \@universefielduniverse=" . join(',', @universefielduniverse)); 160 dbg("processfile: \$universefielduniversekey=$universefielduniversek ey, \@universefielduniverse=" . join(',', @universefielduniverse));
161 @values = ('.*') if (arraysequal(\@values, \@universefielduniverse)) ; 161 @values = ('.*') if (arraysequal($universefield, \@values, \@univers efielduniverse));
162 dbg("processfile: \@values=" . join(',', @values)); 162 dbg("processfile: \@values=" . join(',', @values));
163 163
164 for ($v = 0; $v < @values; $v++) 164 for ($v = 0; $v < @values; $v++)
165 { 165 {
166 dbg("processfile: stuffing $values[$v]"); 166 dbg("processfile: stuffing $values[$v]");
167 $recordtemp = copyreference($recordprev); 167 $recordtemp = copyreference($recordprev);
168 $recordtemp->{$universefield} = $values[$v]; 168 $recordtemp->{$universefield} = $values[$v];
169 dbg("processfile: stuffed $recordprev->{$universefield}"); 169 dbg("processfile: stuffed $recordprev->{$universefield}");
170 dbg("processfile: recordprev: " . recordtostring($recordprev)); 170 dbg("processfile: recordprev: " . recordtostring($recordprev));
171 dbg("processfile: output: " . recordtostring($recordtemp)); 171 dbg("processfile: output: " . recordtostring($recordtemp));
(...skipping 23 matching lines...) Expand all
195 if ($sortkeyfields[$i] ne $universefield) 195 if ($sortkeyfields[$i] ne $universefield)
196 { 196 {
197 $key .= $record->{$sortkeyfields[$i]} 197 $key .= $record->{$sortkeyfields[$i]}
198 } 198 }
199 } 199 }
200 return $key; 200 return $key;
201 } 201 }
202 202
203 sub arraysequal 203 sub arraysequal
204 { 204 {
205 my ($larrayref, $rarrayref) = @_; 205 my ($universefield, $larrayref, $rarrayref) = @_;
206 my $i; 206 my $i;
207 207
208 dbg("arraysequal: checking if " . (join ',', @{$larrayref}) . " is equal to " . (join ',', @{$rarrayref})); 208 dbg("arraysequal: checking $universefield if " . (join ',', @{$larrayref}) . " is equal to " . (join ',', @{$rarrayref}));
209
210 # fail if lengths not equal
209 return 0 if (@{$larrayref} != @{$rarrayref}); 211 return 0 if (@{$larrayref} != @{$rarrayref});
210 212
213 # if the universe field is 'important', fail if lengths are 1,
214 # so that important field singletons are not replaced by wildcards.
215 my @importantfields = ('TEST_BRANCH', 'TEST_REPO', 'TEST_BUILDTYPE', 'TEST_T YPE', 'TEST_OS');
216 my @matches = grep /$universefield/, @importantfields;
217
218 return 0 if ( @matches && @{$larrayref} == 1);
219
211 for ($i = 0; $i < @{$larrayref}; $i++) 220 for ($i = 0; $i < @{$larrayref}; $i++)
212 { 221 {
213 return 0 if ($rarrayref->[$i] ne $larrayref->[$i]); 222 return 0 if ($rarrayref->[$i] ne $larrayref->[$i]);
214 } 223 }
215 dbg("arraysequal: equal"); 224 dbg("arraysequal: equal");
216 return 1; 225 return 1;
217 } 226 }
218 227
OLDNEW
« no previous file with comments | « mozilla-tests/pattern-expander.pl ('k') | mozilla-tests/performance-1.8.0.tests » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698