]> git.cworth.org Git - apitrace/blob - scripts/tracediff.sh
Adjust default precision threshold.
[apitrace] / scripts / tracediff.sh
1 #!/bin/bash
2 ##########################################################################
3 #
4 # Copyright 2011 Jose Fonseca
5 # All Rights Reserved.
6 #
7 # Permission is hereby granted, free of charge, to any person obtaining a copy
8 # of this software and associated documentation files (the "Software"), to deal
9 # in the Software without restriction, including without limitation the rights
10 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 # copies of the Software, and to permit persons to whom the Software is
12 # furnished to do so, subject to the following conditions:
13 #
14 # The above copyright notice and this permission notice shall be included in
15 # all copies or substantial portions of the Software.
16 #
17 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 # THE SOFTWARE.
24 #
25 ##########################################################################/
26
27 set -e
28
29 TRACEDUMP=${TRACEDUMP:-`dirname "$0"`/tracedump}
30
31 $TRACEDUMP
32
33 stripdump () {
34     # http://www.theeggeadventure.com/wikimedia/index.php/Linux_Tips#Use_sed_to_remove_ANSI_colors
35     $TRACEDUMP "$1" \
36     | sed \
37         -e 's/\x1b\[[0-9]\{1,2\}\(;[0-9]\{1,2\}\)\{0,2\}m//g' \
38         -e 's/\r$//g' \
39         -e 's/^[0-9]\+ //' \
40         -e 's/hdc = \w\+/hdc/g' \
41     | head -1000 \
42     > "$2"
43 }
44
45 FIFODIR=`mktemp -d`
46 FIFO1="$FIFODIR/1"
47 FIFO2="$FIFODIR/2"
48
49 mkfifo "$FIFO1"
50 mkfifo "$FIFO2"
51
52 stripdump "$1" "$FIFO1" &
53 stripdump "$2" "$FIFO2" &
54
55 sdiff --width=`tput cols` --speed-large-files "$FIFO1" "$FIFO2" | less -R
56
57 rm -rf "$FIFODIR"