zeek/auxil/spicy/tests/Scripts/canonify-hiltic
Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

23 lines
1.4 KiB
Bash
Executable File

#! /bin/sh
#
# Canonifies hiltic output for baseline diffing.
cat \
| sed '/\/\* __HILTI_LINKER_V1__/,/\*\// {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \
| sed '/\/\/ Begin of [^ ]* (from/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \
| sed '/\/\/ \{1,\}- [^ ]\{1,\} (.*/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \
| sed '/\] parsing file/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \
| sed '/\] loaded module/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \
| sed '/[^ ]\{1,\}\.[^ ]\{1,\}:[0-9]\{1,\}:/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \
| sed '/[^ ]\{1,\}\.[^ ]\{1,\}:[0-9]\{1,\}-[0-9]\{1,\}:/ {s#/\([^/ ]\{1,\}/\)\{1,\}\([^/ ]\{1,\}\)#<...>/\2#g;}' \
| sed 's#[("]\(/[^/\]\{1,\}\)\{1,\}\([^/\]\{1,\}:[0-9-]\{1,\}\)[")]#(<...>/\1\2)#g' \
| sed 's#[("]\(/[^")/\]\{1,\}\)\{1,\}\([^")/\]\{1,\}\)[")]#"<...>\1\2"#g' \
| sed 's#libc++abi.dylib: ##g' \
| sed 's#\(Compiled by HILTI version\) .*#\1 X.X.X#g' \
| sed 's#__hlt_hlto_library_version = .*#__hlt_hlto_library_version = <...>#g' \
| sed 's#__hlt_hlto_bind_to_version = .*#__hlt_hlto_bind_to_version = <...>#g' \
| sed 's#__hlt_hlto_scope = .*#__hlt_hlto_scope = <...>#g' \
| sed 's/\[\(@.:\)[0-9a-f]\{1,\}\]/[\1XXX]/g' \
| sed 's/\[\(parent @.:\)[0-9a-f]\{1,\}\]/[\1XXX]/g' \