mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	binman: Switch to 'python-coverage'
The most portable way to get access to coverage is to invoke it as 'python-coverage'. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
		
							
								
								
									
										3
									
								
								test/run
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								test/run
									
									
									
									
									
								
							| @@ -26,8 +26,7 @@ PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test ./tools/dtoc/dtoc -t | ||||
|  | ||||
| # This needs you to set up Python test coverage tools. | ||||
| # To enable Python test coverage on Debian-type distributions (e.g. Ubuntu): | ||||
| #   $ sudo apt-get install python-pip python-pytest | ||||
| #   $ sudo pip install coverage | ||||
| #   $ sudo apt-get install python-pytest python-coverage | ||||
| PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test \ | ||||
| 	./tools/binman/binman -T | ||||
|  | ||||
|   | ||||
| @@ -583,8 +583,7 @@ implementations target 100% test coverage. Run 'binman -T' to check this. | ||||
|  | ||||
| To enable Python test coverage on Debian-type distributions (e.g. Ubuntu): | ||||
|  | ||||
|    $ sudo apt-get install python-pip python-pytest | ||||
|    $ sudo pip install coverage | ||||
|    $ sudo apt-get install python-coverage python-pytest | ||||
|  | ||||
|  | ||||
| Advanced Features / Technical docs | ||||
|   | ||||
| @@ -81,24 +81,25 @@ def RunTests(debug, args): | ||||
| def RunTestCoverage(): | ||||
|     """Run the tests and check that we get 100% coverage""" | ||||
|     # This uses the build output from sandbox_spl to get _libfdt.so | ||||
|     cmd = ('PYTHONPATH=$PYTHONPATH:%s/sandbox_spl/tools coverage run ' | ||||
|     cmd = ('PYTHONPATH=$PYTHONPATH:%s/sandbox_spl/tools python-coverage run ' | ||||
|             '--include "tools/binman/*.py" --omit "*test*,*binman.py" ' | ||||
|             'tools/binman/binman.py -t' % options.build_dir) | ||||
|     os.system(cmd) | ||||
|     stdout = command.Output('coverage', 'report') | ||||
|     stdout = command.Output('python-coverage', 'report') | ||||
|     lines = stdout.splitlines() | ||||
|  | ||||
|     test_set= set([os.path.basename(line.split()[0]) | ||||
|                      for line in lines if '/etype/' in line]) | ||||
|     glob_list = glob.glob(os.path.join(our_path, 'etype/*.py')) | ||||
|     all_set = set([os.path.basename(item) for item in glob_list]) | ||||
|     all_set = set([os.path.splitext(os.path.basename(item))[0] | ||||
|                    for item in glob_list if '_testing' not in item]) | ||||
|     missing_list = all_set | ||||
|     missing_list.difference_update(test_set) | ||||
|     missing_list.remove('_testing.py') | ||||
|     coverage = lines[-1].split(' ')[-1] | ||||
|     ok = True | ||||
|     if missing_list: | ||||
|         print 'Missing tests for %s' % (', '.join(missing_list)) | ||||
|         print stdout | ||||
|         ok = False | ||||
|     if coverage != '100%': | ||||
|         print stdout | ||||
|   | ||||
		Reference in New Issue
	
	Block a user