File: copy_failed_as_etalons.sh

package info (click to toggle)
netbeans 8.1%2Bdfsg3-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 816,472 kB
  • ctags: 847,258
  • sloc: java: 5,564,229; xml: 634,273; cpp: 25,695; ansic: 20,104; jsp: 12,621; sh: 10,354; php: 4,204; makefile: 1,456; fortran: 1,200; sql: 1,192; objc: 288; perl: 277; haskell: 120; yacc: 30; awk: 17; lex: 11; asm: 4
file content (57 lines) | stat: -rw-r--r-- 1,524 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh -x

#
# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
#

#
# For all tests that failed,
# copy goldens and data into build/test/unit/work/tmp2
#

cur=`pwd`
modelimpl="${MODELIMPL-${cur}}"
modelimpl_golden="${modelimpl}/test/unit/data/goldenfiles"

failed_dirs=`find ${modelimpl}/build/test/unit/work -name "*.golden" -exec dirname {} \; | sort -u`
failed_files=`find ${modelimpl}/build/test/unit/work -name "*.golden" | sort -u`

if [ -z "${failed_files}" ]; then
    echo "No failed tests found"
else
    dst="${modelimpl}/build/test/unit/etalons"
    rm -r ${dst}/* > /dev/null
    mkdir -p ${dst}
    cp -r ${failed_dirs} ${dst}

    # sed s/\.golden//g
    for d in `ls ${dst}`; do
	cd ${dst}/$d
	for gold in `ls *.golden`; do
	    orig=`echo ${gold} | sed s/\.golden//g`
	    #ls -l ${gold}
	    #ls -l ${orig}
	    echo "==================== ${gold} vs ${orig} ===================="
	    diff ${gold} ${orig}
	done
	cd - > /dev/null
    done

    cnt=`ls ${dst} | wc -l`
    echo ${cnt} directories are copied to ${dst}

    for d in `ls ${dst}`; do
	cd ${dst}/$d
	for gold in `ls *.golden`; do
            failed_name=`echo ${gold} | sed s/\.golden//g`
            orig=`find ${modelimpl_golden} -name ${failed_name}`
            if [ -z "${orig}" ]; then
                echo "ERROR: pair for ${gold} is not found"
            else 
                echo copy ${failed_name} ${orig}
                cp ${failed_name} ${orig}
            fi
	done
	cd - > /dev/null
    done
fi