chiark / gitweb /
use new git-check-ref-format
[version-charset-test.git] / invoke
1 #!/bin/bash
2 set -o pipefail
3 set -e
4
5 cpus=$(
6         perl -we '
7             use strict;
8             require Sys::CPU;
9             my $ncpus = Sys::CPU::cpu_count();
10             $ncpus *= 1.5;
11             print $ncpus, " " or die $!;
12             print join " ", (0 .. $ncpus-1) or die $!;
13             print "\n" or die $!;
14         ' ||
15         echo 3 0 1 2
16 )
17
18 ncpus=${cpus%% *}
19 cpus=${cpus#* }
20
21 echo >&2 "ncpus=$ncpus cpus=($cpus)"
22
23 pids=()
24
25 for cpu in $cpus; do
26         (
27         ./generate $cpu/$ncpus "$@"                             | \
28         ../dpkg/src/dpkg --filter-valid-versions                | \
29         ./escape                                                | \
30         perl -pe 's#^#refs/tags/#'                              | \
31         ../git/git-check-ref-format --report-errors --stdin
32         echo >&2 "cpu $cpu ok"
33         ) &
34         pids+=( $! )
35 done
36
37 set +e
38 ok=true
39 for pid in ${pids[*]}; do
40         wait $pid || ok=false
41 done
42 set -e
43
44 $ok || echo >&2 'BAD'
45
46 $ok
47
48 echo '*** OK EVERYTHING IS FINE ***'
49
50