#!/bin/bash # # SPDX-FileCopyrightText: 2022 Dominik Wombacher # SPDX-License-Identifier: GPL-2.0-or-later # # Hacky Bash snippet to compare coverage of xmlprc methods with spacecmd, output as CSV file # run inside 'java' folder of Uyuni source after java project was build and 'build/classes/' is populated # grep -rl "@xmlrpc.namespace" code/src/com/redhat/rhn/frontend/xmlrpc/ | while read -r line ; do NAMESPACE=`grep "@xmlrpc.namespace" $line | awk -F ' ' '{print $3}'` CLASSPATH=`echo $line | sed -E 's/code\/src\///' | sed -E 's/java/class/'` RESULT=`javap build/classes/$CLASSPATH | grep " public " | grep -v static | sed 's/^[[:space:]]*//' | sed -E 's/, /,/g' | awk -F ' ' '{print $3}' | cut -f1 -d"("` echo state,method for value in $RESULT do if grep -rq $NAMESPACE.$value ../spacecmd/; then echo available,$NAMESPACE.$value else echo missing,$NAMESPACE.$value fi done done > xmlrpc_spacecmd_coverage.csv ; awk -i inplace '!seen[$0]++' xmlrpc_spacecmd_coverage.csv