1*71d33794SRowan Hart#!/usr/bin/env python3 2*71d33794SRowan Hart# 3*71d33794SRowan Hart# validate-patch.py: check the patch applies 4*71d33794SRowan Hart# 5*71d33794SRowan Hart# This program takes two inputs: 6*71d33794SRowan Hart# - the plugin output 7*71d33794SRowan Hart# - the binary output 8*71d33794SRowan Hart# 9*71d33794SRowan Hart# Copyright (C) 2024 10*71d33794SRowan Hart# 11*71d33794SRowan Hart# SPDX-License-Identifier: GPL-2.0-or-later 12*71d33794SRowan Hart 13*71d33794SRowan Hartimport sys 14*71d33794SRowan Hartfrom argparse import ArgumentParser 15*71d33794SRowan Hart 16*71d33794SRowan Hartdef main() -> None: 17*71d33794SRowan Hart """ 18*71d33794SRowan Hart Process the arguments, injest the program and plugin out and 19*71d33794SRowan Hart verify they match up and report if they do not. 20*71d33794SRowan Hart """ 21*71d33794SRowan Hart parser = ArgumentParser(description="Validate patch") 22*71d33794SRowan Hart parser.add_argument('test_output', 23*71d33794SRowan Hart help="The output from the test itself") 24*71d33794SRowan Hart parser.add_argument('plugin_output', 25*71d33794SRowan Hart help="The output from plugin") 26*71d33794SRowan Hart args = parser.parse_args() 27*71d33794SRowan Hart 28*71d33794SRowan Hart with open(args.test_output, 'r') as f: 29*71d33794SRowan Hart test_data = f.read() 30*71d33794SRowan Hart with open(args.plugin_output, 'r') as f: 31*71d33794SRowan Hart plugin_data = f.read() 32*71d33794SRowan Hart if "Value: 1" in test_data: 33*71d33794SRowan Hart sys.exit(0) 34*71d33794SRowan Hart else: 35*71d33794SRowan Hart sys.exit(1) 36*71d33794SRowan Hart 37*71d33794SRowan Hartif __name__ == "__main__": 38*71d33794SRowan Hart main() 39*71d33794SRowan Hart 40