diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/mk.variant | |
download | pcp-debian.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/mk.variant')
-rwxr-xr-x | qa/mk.variant | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/qa/mk.variant b/qa/mk.variant new file mode 100755 index 0000000..6674530 --- /dev/null +++ b/qa/mk.variant @@ -0,0 +1,117 @@ +#!/bin/sh +# +# Make a QA test variant based on PCP version +# + +if [ -f localconfig ] +then + . ./localconfig + echo "Current QA being configured for PCP before PCP_VER=$PCP_VER" +else + echo "No localconfig, run mk.localconfig first" + exit 1 +fi + +tmp=/var/tmp/$$ +rm -f $tmp.* +sts=0 +trap "rm -f $tmp.*; exit \$sts" 0 1 2 3 15 + +for seq +do + case "$seq" + in + ?) seq=00$seq + ;; + ??) seq=0$seq + ;; + esac + + if [ ! -f "$seq.out" ] + then + echo "$seq: No current $seq.out file ... giving up" + sts=1 + exit + fi + + files=`echo ${seq}* \ + | sed \ + -e 's/^/ /' \ + -e 's/$/ /' \ + -e "s/ $seq / /" \ + -e "s/ $seq\.out / /" \ + -e "s/ $seq\.full / /" \ + -e "s/ $seq\.full.ok / /" \ + -e "s/ $seq\.out.bad / /"\ + -e "s/ $seq\.out.bak / /"\ + -e 's/^ //' \ + -e 's/ $//'` + if [ -n "$files" ] + then + echo "$seq: Unexpected extra files ($files) ... giving up" + sts=1 + exit + fi + + rm -f $tmp.1 $tmp.2 $tmp.tmp + awk <$seq ' +state == 0 && NF == 0 { state = 1 } +state == 0 { print >"'"$tmp.1"'"; next } +state == 1 && /^seq=/ { next } +state == 1 && /QA output created by/ { next } +state == 1 && /^#/ { next } +state == 1 && /^\. / { next } +state == 1 && NF == 0 { next } +state == 1 { state = 2 } +state == 2 { print >"'"$tmp.2"'"; next } +' + touch $tmp.tmp + [ -f $tmp.1 ] && cat $tmp.1 >>$tmp.tmp + cat <<End-of-File >>$tmp.tmp + +# get standard filters +. ./common.product +. ./common.filter +. ./common.check + +seq=\`basename \$0\` + +rm -f \$seq.out +if [ \$PCP_VER -lt $PCP_VER ] +then + ln \$seq.out.1 \$seq.out || exit 1 +else + ln \$seq.out.2 \$seq.out || exit 1 +fi + +echo "QA output created by \$seq" + +End-of-File + [ -f $tmp.2 ] && cat $tmp.2 >>$tmp.tmp + + #debug# gdiff $seq $tmp.tmp + + cp $tmp.tmp $seq + git mv $seq.out $seq.out.1 + cp $seq.out.1 $seq.out.2 + git add $seq.out.2 + + if grep "^$seq.out\$" .gitignore >/dev/null 2>&1 + then + echo "$seq.out: Warning: already in .gitignore" + else + echo "$seq.out" >>.gitignore + fi + + echo "OK: $seq modified, $seq.out -> $seq.out.1, new $seq.out.2 needs editing" + +done + +# cut, sort, paste .gitignore +# +grep -v '^[0-9][0-9]*\.out$' .gitignore >$tmp.1 +grep '^[0-9][0-9]*\.out$' .gitignore | sort -n >$tmp.2 +cat $tmp.1 $tmp.2 >.gitignore + +# will be remade as needed +rm -f qa_outfiles |