[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [OSSTEST PATCH 64/82] hsot reuse: Hash the share type
From: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> We don't really want to duplicate (triplicate, actually) lots of the runvars. This will make the runvars table needlessly bloated. So hash the values. Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- README | 2 +- ts-host-reuse | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README b/README index a929010c..1703e076 100644 --- a/README +++ b/README @@ -297,7 +297,7 @@ To run osstest in standalone mode: curl netcat chiark-utils-bin - libxml-libxml-perl libfile-fnmatch-perl + libxml-libxml-perl libfile-fnmatch-perl libdigest-sha-perl dctrl-tools libnet-snmp-perl (if you are going to use Masterswitch PDUs) diff --git a/ts-host-reuse b/ts-host-reuse index c852a858..701070b2 100755 --- a/ts-host-reuse +++ b/ts-host-reuse @@ -43,6 +43,7 @@ use DBI; BEGIN { unshift @INC, qw(.); } use Osstest; use POSIX; +use Digest::SHA qw(sha224_base64); use Osstest::TestSupport; tsreadconfig(); @@ -64,16 +65,18 @@ sub sharetype_add ($$) { } sub compute_test_sharetype () { - $sharetype = "test-$flight"; + my @runvartexts; my %done; foreach my $key (runvar_glob(@accessible_runvar_pats)) { next if runvar_is_synth($key); my $val = $r{$key}; next if $done{$key}++; - $val =~ s{[^\"-\~]|\%}{ sprintf "%%%02x", ord $& }ge; - $sharetype .= "!$key=$r{$key}"; + $val =~ s{[^\!-\~]|\%}{ sprintf "%%%02x", ord $& }ge; + push @runvartexts, "$key=$r{$key}"; } - + my $digest = sha224_base64("@runvartexts"); + $sharetype = "test-$flight-$digest"; + logm "share type $sharetype; hash is of: @runvartexts"; return $sharetype; } -- 2.20.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |