From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB4E3C07E99 for ; Mon, 5 Jul 2021 18:04:31 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EA35A61278 for ; Mon, 5 Jul 2021 18:04:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EA35A61278 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1454882C1A; Mon, 5 Jul 2021 20:04:28 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=collabora.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id F371882C08; Mon, 5 Jul 2021 20:04:25 +0200 (CEST) Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 086F282BF4 for ; Mon, 5 Jul 2021 20:04:23 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=wlozano@collabora.com Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: wlozano) with ESMTPSA id 7D2B61F427F1 Subject: Re: [PATCH 2/8] dtoc: Convert to use ArgumentParser To: Simon Glass , U-Boot Mailing List Cc: Johan Jonker References: <20210704181950.1917106-1-sjg@chromium.org> <20210704181950.1917106-3-sjg@chromium.org> From: Walter Lozano Message-ID: <5d868664-2a67-73af-e79f-3f575429083e@collabora.com> Date: Mon, 5 Jul 2021 15:04:16 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210704181950.1917106-3-sjg@chromium.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Hi Simon, On 7/4/21 3:19 PM, Simon Glass wrote: > Use this parser instead of OptionParser, which is deprecated. > > Signed-off-by: Simon Glass > --- > > tools/dtoc/main.py | 51 ++++++++++++++++++++++++---------------------- > 1 file changed, 27 insertions(+), 24 deletions(-) Reviewed-by: Walter Lozano Thanks! Walter > > diff --git a/tools/dtoc/main.py b/tools/dtoc/main.py > index 93706de89bf..6f9b526bd74 100755 > --- a/tools/dtoc/main.py > +++ b/tools/dtoc/main.py > @@ -21,7 +21,7 @@ options. For more information about the use of this options and tool please > see doc/driver-model/of-plat.rst > """ > > -from optparse import OptionParser > +from argparse import ArgumentParser > import os > import sys > import unittest > @@ -51,7 +51,7 @@ def run_tests(processes, args): > > result = unittest.TestResult() > sys.argv = [sys.argv[0]] > - test_name = args and args[0] or None > + test_name = args.files and args.files[0] or None > > test_dtoc.setup() > > @@ -66,47 +66,50 @@ def RunTestCoverage(): > """Run the tests and check that we get 100% coverage""" > sys.argv = [sys.argv[0]] > test_util.RunTestCoverage('tools/dtoc/dtoc', '/main.py', > - ['tools/patman/*.py', '*/fdt*', '*test*'], options.build_dir) > + ['tools/patman/*.py', '*/fdt*', '*test*'], args.build_dir) > > > if __name__ != '__main__': > sys.exit(1) > > -parser = OptionParser() > -parser.add_option('-B', '--build-dir', type='string', default='b', > +epilog = '''Generate C code from devicetree files. See of-plat.rst for details''' > + > +parser = ArgumentParser(epilog=epilog) > +parser.add_argument('-B', '--build-dir', type=str, default='b', > help='Directory containing the build output') > -parser.add_option('-c', '--c-output-dir', action='store', > +parser.add_argument('-c', '--c-output-dir', action='store', > help='Select output directory for C files') > -parser.add_option('-C', '--h-output-dir', action='store', > +parser.add_argument('-C', '--h-output-dir', action='store', > help='Select output directory for H files (defaults to --c-output-di)') > -parser.add_option('-d', '--dtb-file', action='store', > +parser.add_argument('-d', '--dtb-file', action='store', > help='Specify the .dtb input file') > -parser.add_option('-i', '--instantiate', action='store_true', default=False, > +parser.add_argument('-i', '--instantiate', action='store_true', default=False, > help='Instantiate devices to avoid needing device_bind()') > -parser.add_option('--include-disabled', action='store_true', > +parser.add_argument('--include-disabled', action='store_true', > help='Include disabled nodes') > -parser.add_option('-o', '--output', action='store', > +parser.add_argument('-o', '--output', action='store', > help='Select output filename') > -parser.add_option('-p', '--phase', type=str, > +parser.add_argument('-p', '--phase', type=str, > help='set phase of U-Boot this invocation is for (spl/tpl)') > -parser.add_option('-P', '--processes', type=int, > +parser.add_argument('-P', '--processes', type=int, > help='set number of processes to use for running tests') > -parser.add_option('-t', '--test', action='store_true', dest='test', > +parser.add_argument('-t', '--test', action='store_true', dest='test', > default=False, help='run tests') > -parser.add_option('-T', '--test-coverage', action='store_true', > - default=False, help='run tests and check for 100% coverage') > -(options, args) = parser.parse_args() > +parser.add_argument('-T', '--test-coverage', action='store_true', > + default=False, help='run tests and check for 100%% coverage') > +parser.add_argument('files', nargs='*') > +args = parser.parse_args() > > # Run our meagre tests > -if options.test: > - ret_code = run_tests(options.processes, args) > +if args.test: > + ret_code = run_tests(args.processes, args) > sys.exit(ret_code) > > -elif options.test_coverage: > +elif args.test_coverage: > RunTestCoverage() > > else: > - dtb_platdata.run_steps(args, options.dtb_file, options.include_disabled, > - options.output, > - [options.c_output_dir, options.h_output_dir], > - options.phase, instantiate=options.instantiate) > + dtb_platdata.run_steps(args.files, args.dtb_file, args.include_disabled, > + args.output, > + [args.c_output_dir, args.h_output_dir], > + args.phase, instantiate=args.instantiate)