1 #! /bin/sh 2 3 dir=`dirname $0` 4 5 ./filter_stderr | 6 7 perl -p -e 's/^Open AF_UNIX socket [0-9]*: <unknown>/Open AF_UNIX socket ...: <unknown>/' | 8 perl -p -e 's/^Open (AF_UNIX socket|file descriptor) [0-9]*: \/dev\/null/Open $1 ...: \/dev\/null/' | 9 # Solaris-specific, translate /devices/pseudo/mm@0:null to /dev/null 10 perl -p -e 's/^Open (AF_UNIX socket|file descriptor) [0-9]*: \/devices\/pseudo\/mm\@0:null/Open $1 ...: \/dev\/null/' | 11 # Nb: on Darwin, /tmp is a symlink to /private/tmp, so sometimes it's 12 # necessary to filter out the "/private" part. 13 perl -p -e 's/^Open (AF_UNIX socket|file descriptor) [0-9]*: (\/private)?\/tmp\/(sock|data1|data2|file)\.[0-9]*/Open $1 ...: \/tmp\/$3/' | 14 perl -p -e 's/^Open file descriptor [0-9]*: .*/Open file descriptor ...: .../' | 15 perl -p -e 's/^Open file descriptor [0-9]*:$/Open file descriptor ...:/' | 16 perl -p -e 's/127.0.0.1:[0-9]*/127.0.0.1:.../g' | 17 18 # Stack traces showing where fds were created have lots of variations: 19 # different numbers of entries, line numbers or not depending on whether 20 # libc debug info is present, 'main' vs. '(below main)', etc. 21 # 22 # So we just cut out the entire stack trace. It's coarse but effective; 23 # before we did this we had a plethora of expected outputs, with only 24 # painfully minor variations between them. 25 perl -p -0 -e 's/(Open[^\n]*\n)( (at|by)[^\n]*\n)+/$1 ...\n/gs' 26 27 28