mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-30 18:05:48 +01:00 
			
		
		
		
	patman: Add a 'test' subcommand
At present we use --test to indicate that tests should be run. It is better to use a subcommand for list, like binman. Change it and adjust the existing code to fit under a 'send' subcommand, the default. Give this subcommand the same default arguments as the others. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
		| @@ -158,7 +158,7 @@ jobs: | |||||||
|           ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test |           ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test | ||||||
|           ./tools/buildman/buildman -t |           ./tools/buildman/buildman -t | ||||||
|           ./tools/dtoc/dtoc -t |           ./tools/dtoc/dtoc -t | ||||||
|           ./tools/patman/patman --test |           ./tools/patman/patman test | ||||||
|           make O=${UBOOT_TRAVIS_BUILD_DIR} testconfig |           make O=${UBOOT_TRAVIS_BUILD_DIR} testconfig | ||||||
|           EOF |           EOF | ||||||
|           cat build.sh |           cat build.sh | ||||||
|   | |||||||
| @@ -169,7 +169,7 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites: | |||||||
|       ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test; |       ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test; | ||||||
|       ./tools/buildman/buildman -t; |       ./tools/buildman/buildman -t; | ||||||
|       ./tools/dtoc/dtoc -t; |       ./tools/dtoc/dtoc -t; | ||||||
|       ./tools/patman/patman --test; |       ./tools/patman/patman test; | ||||||
|       make testconfig |       make testconfig | ||||||
|  |  | ||||||
| Run tests for Nokia RX-51 (aka N900): | Run tests for Nokia RX-51 (aka N900): | ||||||
|   | |||||||
| @@ -257,7 +257,7 @@ script: | |||||||
|        export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"; |        export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"; | ||||||
|        export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"; |        export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"; | ||||||
|        ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test && |        ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test && | ||||||
|        ./tools/patman/patman --test && |        ./tools/patman/patman test && | ||||||
|        ./tools/buildman/buildman -t && |        ./tools/buildman/buildman -t && | ||||||
|        ./tools/dtoc/dtoc -t && |        ./tools/dtoc/dtoc -t && | ||||||
|        make testconfig; |        make testconfig; | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								test/run
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								test/run
									
									
									
									
									
								
							| @@ -48,7 +48,7 @@ export DTC=${DTC_DIR}/dtc | |||||||
| TOOLS_DIR=build-sandbox_spl/tools | TOOLS_DIR=build-sandbox_spl/tools | ||||||
|  |  | ||||||
| run_test "binman" ./tools/binman/binman --toolpath ${TOOLS_DIR} test | run_test "binman" ./tools/binman/binman --toolpath ${TOOLS_DIR} test | ||||||
| run_test "patman" ./tools/patman/patman --test | run_test "patman" ./tools/patman/patman test | ||||||
|  |  | ||||||
| run_test "buildman" ./tools/buildman/buildman -t ${skip} | run_test "buildman" ./tools/buildman/buildman -t ${skip} | ||||||
| run_test "fdt" ./tools/dtoc/test_fdt -t | run_test "fdt" ./tools/dtoc/test_fdt -t | ||||||
|   | |||||||
| @@ -27,6 +27,16 @@ from patman import terminal | |||||||
| from patman import test_util | from patman import test_util | ||||||
| from patman import test_checkpatch | from patman import test_checkpatch | ||||||
|  |  | ||||||
|  | def AddCommonArgs(parser): | ||||||
|  |     parser.add_argument('-b', '--branch', type=str, | ||||||
|  |         help="Branch to process (by default, the current branch)") | ||||||
|  |     parser.add_argument('-c', '--count', dest='count', type=int, | ||||||
|  |         default=-1, help='Automatically create patches from top n commits') | ||||||
|  |     parser.add_argument('-e', '--end', type=int, default=0, | ||||||
|  |         help='Commits to skip at end of patch list') | ||||||
|  |     parser.add_argument('-s', '--start', dest='start', type=int, | ||||||
|  |         default=0, help='Commit to start creating patches from (0 = HEAD)') | ||||||
|  |  | ||||||
| epilog = '''Create patches from commits in a branch, check them and email them | epilog = '''Create patches from commits in a branch, check them and email them | ||||||
| as specified by tags you place in the commits. Use -n to do a dry run first.''' | as specified by tags you place in the commits. Use -n to do a dry run first.''' | ||||||
|  |  | ||||||
| @@ -35,12 +45,6 @@ subparsers = parser.add_subparsers(dest='cmd') | |||||||
| send = subparsers.add_parser('send') | send = subparsers.add_parser('send') | ||||||
| send.add_argument('-H', '--full-help', action='store_true', dest='full_help', | send.add_argument('-H', '--full-help', action='store_true', dest='full_help', | ||||||
|        default=False, help='Display the README file') |        default=False, help='Display the README file') | ||||||
| send.add_argument('-b', '--branch', type=str, |  | ||||||
|                   help="Branch to process (by default, the current branch)") |  | ||||||
| send.add_argument('-c', '--count', dest='count', type=int, |  | ||||||
|        default=-1, help='Automatically create patches from top n commits') |  | ||||||
| send.add_argument('-e', '--end', type=int, default=0, |  | ||||||
|                   help='Commits to skip at end of patch list') |  | ||||||
| send.add_argument('-i', '--ignore-errors', action='store_true', | send.add_argument('-i', '--ignore-errors', action='store_true', | ||||||
|        dest='ignore_errors', default=False, |        dest='ignore_errors', default=False, | ||||||
|        help='Send patches email even if patch errors are found') |        help='Send patches email even if patch errors are found') | ||||||
| @@ -56,8 +60,6 @@ send.add_argument('-p', '--project', default=project.DetectProject(), | |||||||
|                   "aliases [default: %(default)s]") |                   "aliases [default: %(default)s]") | ||||||
| send.add_argument('-r', '--in-reply-to', type=str, action='store', | send.add_argument('-r', '--in-reply-to', type=str, action='store', | ||||||
|                   help="Message ID that this series is in reply to") |                   help="Message ID that this series is in reply to") | ||||||
| send.add_argument('-s', '--start', dest='start', type=int, |  | ||||||
|        default=0, help='Commit to start creating patches from (0 = HEAD)') |  | ||||||
| send.add_argument('-t', '--ignore-bad-tags', action='store_true', | send.add_argument('-t', '--ignore-bad-tags', action='store_true', | ||||||
|                   default=False, help='Ignore bad tags / aliases') |                   default=False, help='Ignore bad tags / aliases') | ||||||
| send.add_argument('-v', '--verbose', action='store_true', dest='verbose', | send.add_argument('-v', '--verbose', action='store_true', dest='verbose', | ||||||
| @@ -76,11 +78,13 @@ send.add_argument('--no-tags', action='store_false', dest='process_tags', | |||||||
|                   default=True, help="Don't process subject tags as aliases") |                   default=True, help="Don't process subject tags as aliases") | ||||||
| send.add_argument('--smtp-server', type=str, | send.add_argument('--smtp-server', type=str, | ||||||
|                   help="Specify the SMTP server to 'git send-email'") |                   help="Specify the SMTP server to 'git send-email'") | ||||||
| send.add_argument('--test', action='store_true', dest='test', | AddCommonArgs(send) | ||||||
|                   default=False, help='run tests') |  | ||||||
|  |  | ||||||
| send.add_argument('patchfiles', nargs='*') | send.add_argument('patchfiles', nargs='*') | ||||||
|  |  | ||||||
|  | test_parser = subparsers.add_parser('test', help='Run tests') | ||||||
|  | AddCommonArgs(test_parser) | ||||||
|  |  | ||||||
| # Parse options twice: first to get the project and second to handle | # Parse options twice: first to get the project and second to handle | ||||||
| # defaults properly (which depends on project). | # defaults properly (which depends on project). | ||||||
| argv = sys.argv[1:] | argv = sys.argv[1:] | ||||||
| @@ -95,7 +99,7 @@ if __name__ != "__main__": | |||||||
|     pass |     pass | ||||||
|  |  | ||||||
| # Run our meagre tests | # Run our meagre tests | ||||||
| elif args.test: | if args.cmd == 'test': | ||||||
|     import doctest |     import doctest | ||||||
|     from patman import func_test |     from patman import func_test | ||||||
|  |  | ||||||
| @@ -111,9 +115,11 @@ elif args.test: | |||||||
|  |  | ||||||
|     sys.exit(test_util.ReportResult('patman', None, result)) |     sys.exit(test_util.ReportResult('patman', None, result)) | ||||||
|  |  | ||||||
|  | # Process commits, produce patches files, check them, email them | ||||||
|  | elif args.cmd == 'send': | ||||||
|     # Called from git with a patch filename as argument |     # Called from git with a patch filename as argument | ||||||
|     # Printout a list of additional CC recipients for this patch |     # Printout a list of additional CC recipients for this patch | ||||||
| elif args.cc_cmd: |     if args.cc_cmd: | ||||||
|         fd = open(args.cc_cmd, 'r') |         fd = open(args.cc_cmd, 'r') | ||||||
|         re_line = re.compile('(\S*) (.*)') |         re_line = re.compile('(\S*) (.*)') | ||||||
|         for line in fd.readlines(): |         for line in fd.readlines(): | ||||||
| @@ -133,6 +139,5 @@ elif args.full_help: | |||||||
|                              'README') |                              'README') | ||||||
|         command.Run(pager, fname) |         command.Run(pager, fname) | ||||||
|  |  | ||||||
| # Process commits, produce patches files, check them, email them |  | ||||||
|     else: |     else: | ||||||
|         control.send(args) |         control.send(args) | ||||||
|   | |||||||
| @@ -47,7 +47,7 @@ def RunTestCoverage(prog, filter_fname, exclude_list, build_dir, required=None): | |||||||
|         glob_list = [] |         glob_list = [] | ||||||
|     glob_list += exclude_list |     glob_list += exclude_list | ||||||
|     glob_list += ['*libfdt.py', '*site-packages*', '*dist-packages*'] |     glob_list += ['*libfdt.py', '*site-packages*', '*dist-packages*'] | ||||||
|     test_cmd = 'test' if 'binman' in prog else '-t' |     test_cmd = 'test' if 'binman' in prog or 'patman' in prog else '-t' | ||||||
|     prefix = '' |     prefix = '' | ||||||
|     if build_dir: |     if build_dir: | ||||||
|         prefix = 'PYTHONPATH=$PYTHONPATH:%s/sandbox_spl/tools ' % build_dir |         prefix = 'PYTHONPATH=$PYTHONPATH:%s/sandbox_spl/tools ' % build_dir | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user