numam-spdk/test/json_config/json_diff.sh
Pawel Kaminski 0cd9241a2d test/json_config: Freebsd supports python3 now so use it
Change-Id: I7a03dddfbc455f9d9374ce864dc3c9fab157d81e
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/481889
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
2020-01-17 14:07:39 +00:00

42 lines
996 B
Bash
Executable File

#!/usr/bin/env bash
set -x
if [ $# -ne 2 ]; then
echo "This script need exactly two arguments"
exit 1
fi
rootdir=$(readlink -f $(dirname $0)/../..)
# Compare two JSON files.
#
# NOTE: Order of objects in JSON can change by just doing loads -> dumps so all JSON objects (not arrays) are sorted by
# config_filter.py script. Sorted output is used to compare JSON output.
#
tmp_file_1=$(mktemp /tmp/$(basename ${1}).XXX)
tmp_file_2=$(mktemp /tmp/$(basename ${2}).XXX)
ret=0
$rootdir/test/json_config/config_filter.py -method "sort" < $1 > $tmp_file_1
$rootdir/test/json_config/config_filter.py -method "sort" < $2 > $tmp_file_2
if ! diff -u $tmp_file_1 $tmp_file_2; then
ret=1
echo "=== Start of file: $tmp_file_1 ==="
cat $tmp_file_1
echo "=== End of file: $tmp_file_1 ==="
echo ""
echo "=== Start of file: $tmp_file_2 ==="
cat $tmp_file_2
echo "=== End of file: $tmp_file_2 ==="
echo ""
else
echo "INFO: JSON config files are the same"
fi
rm $tmp_file_1 $tmp_file_2
exit $ret