1651d9158SPawel Wodkowski#!/usr/bin/env bash 2*eb53c232Spaul luse# SPDX-License-Identifier: BSD-3-Clause 3*eb53c232Spaul luse# Copyright (C) 2018 Intel Corporation 4*eb53c232Spaul luse# All rights reserved. 5*eb53c232Spaul luse# 6651d9158SPawel Wodkowskiset -x 7651d9158SPawel Wodkowski 8651d9158SPawel Wodkowskiif [ $# -ne 2 ]; then 9651d9158SPawel Wodkowski echo "This script need exactly two arguments" 10651d9158SPawel Wodkowski exit 1 11651d9158SPawel Wodkowskifi 12651d9158SPawel Wodkowski 13651d9158SPawel Wodkowskirootdir=$(readlink -f $(dirname $0)/../..) 14651d9158SPawel Wodkowski 15651d9158SPawel Wodkowski# Compare two JSON files. 16651d9158SPawel Wodkowski# 17651d9158SPawel Wodkowski# NOTE: Order of objects in JSON can change by just doing loads -> dumps so all JSON objects (not arrays) are sorted by 18651d9158SPawel Wodkowski# config_filter.py script. Sorted output is used to compare JSON output. 19651d9158SPawel Wodkowski# 20651d9158SPawel Wodkowski 21651d9158SPawel Wodkowskitmp_file_1=$(mktemp /tmp/$(basename ${1}).XXX) 22651d9158SPawel Wodkowskitmp_file_2=$(mktemp /tmp/$(basename ${2}).XXX) 23651d9158SPawel Wodkowskiret=0 24651d9158SPawel Wodkowski 250cd9241aSPawel Kaminski$rootdir/test/json_config/config_filter.py -method "sort" < $1 > $tmp_file_1 260cd9241aSPawel Kaminski$rootdir/test/json_config/config_filter.py -method "sort" < $2 > $tmp_file_2 27651d9158SPawel Wodkowski 28651d9158SPawel Wodkowskiif ! diff -u $tmp_file_1 $tmp_file_2; then 29651d9158SPawel Wodkowski ret=1 30651d9158SPawel Wodkowski 31651d9158SPawel Wodkowski echo "=== Start of file: $tmp_file_1 ===" 32651d9158SPawel Wodkowski cat $tmp_file_1 33651d9158SPawel Wodkowski echo "=== End of file: $tmp_file_1 ===" 34651d9158SPawel Wodkowski echo "" 35651d9158SPawel Wodkowski echo "=== Start of file: $tmp_file_2 ===" 36651d9158SPawel Wodkowski cat $tmp_file_2 37651d9158SPawel Wodkowski echo "=== End of file: $tmp_file_2 ===" 38651d9158SPawel Wodkowski echo "" 39651d9158SPawel Wodkowskielse 40651d9158SPawel Wodkowski echo "INFO: JSON config files are the same" 41651d9158SPawel Wodkowskifi 42651d9158SPawel Wodkowski 43651d9158SPawel Wodkowskirm $tmp_file_1 $tmp_file_2 44651d9158SPawel Wodkowskiexit $ret 45