blob: f1d82c8b0b1c5c89949e2f082d10c3b938debc44 [file] [log] [blame]
#!/usr/bin/env fuchsia-vendored-python
# Copyright 2023 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import argparse
import difflib
import sys
def main():
parser = argparse.ArgumentParser(
description="Compares drivers lists and outputs diffs"
)
parser.add_argument(
"--drivers-list1", type=argparse.FileType("r"), required=True
)
parser.add_argument(
"--drivers-list2", type=argparse.FileType("r"), required=True
)
parser.add_argument("--output", type=argparse.FileType("w"), required=True)
args = parser.parse_args()
drivers_list1 = sorted(args.drivers_list1.readlines())
drivers_list2 = sorted(args.drivers_list2.readlines())
diff = difflib.unified_diff(
drivers_list1,
drivers_list2,
args.drivers_list1.name,
args.drivers_list2.name,
lineterm="",
)
diffstr = "\n".join(diff)
args.output.write(diffstr)
if len(diffstr) != 0:
print(f"Error: non-empty diff\n\n{diffstr}", file=sys.stderr)
return 1
if __name__ == "__main__":
sys.exit(main())