xref: /qemu/tests/tcg/x86_64/system/validate-patch.py (revision 597639c4273d1433b0a47c8533b90ccce29f84e5)
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