# HG changeset patch # User Gregory Szorc # Date 1516489148 28800 # Node ID 32317f8bbe2a1e0b9ca7de9a68a3bb73b971d871 # Parent eefabd9ed3e1c8ed8ea023a0a76a76335185e2b3 tests: use argparse in get-with-headers.py I'm about to add another flag and I don't want to deal with this organic, artisanal argument parser. Differential Revision: https://phab.mercurial-scm.org/D1920 diff -r eefabd9ed3e1 -r 32317f8bbe2a tests/get-with-headers.py --- a/tests/get-with-headers.py Sun Jan 21 17:11:31 2018 -0800 +++ b/tests/get-with-headers.py Sat Jan 20 14:59:08 2018 -0800 @@ -5,6 +5,7 @@ from __future__ import absolute_import, print_function +import argparse import json import os import sys @@ -22,25 +23,21 @@ except ImportError: pass -twice = False -if '--twice' in sys.argv: - sys.argv.remove('--twice') - twice = True -headeronly = False -if '--headeronly' in sys.argv: - sys.argv.remove('--headeronly') - headeronly = True -formatjson = False -if '--json' in sys.argv: - sys.argv.remove('--json') - formatjson = True +parser = argparse.ArgumentParser() +parser.add_argument('--twice', action='store_true') +parser.add_argument('--headeronly', action='store_true') +parser.add_argument('--json', action='store_true') +parser.add_argument('--hgproto') +parser.add_argument('host') +parser.add_argument('path') +parser.add_argument('show', nargs='*') -hgproto = None -if '--hgproto' in sys.argv: - idx = sys.argv.index('--hgproto') - hgproto = sys.argv[idx + 1] - sys.argv.pop(idx) - sys.argv.pop(idx) +args = parser.parse_args() + +twice = args.twice +headeronly = args.headeronly +formatjson = args.json +hgproto = args.hgproto tag = None def request(host, path, show): @@ -83,9 +80,9 @@ return response.status -status = request(sys.argv[1], sys.argv[2], sys.argv[3:]) +status = request(args.host, args.path, args.show) if twice: - status = request(sys.argv[1], sys.argv[2], sys.argv[3:]) + status = request(args.host, args.path, args.show) if 200 <= status <= 305: sys.exit(0)