Factor out the discover logic to the test module
This avoids duplication in sugar and sugar-toolkit-gtk3 makefiles.
This commit is contained in:
		
							parent
							
								
									da3786d2fb
								
							
						
					
					
						commit
						6d319619f0
					
				
							
								
								
									
										11
									
								
								Makefile.am
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								Makefile.am
									
									
									
									
									
								
							| @ -1,9 +1,6 @@ | |||||||
| ACLOCAL_AMFLAGS = -I m4 | ACLOCAL_AMFLAGS = -I m4 | ||||||
| DISTCHECK_CONFIGURE_FLAGS = --enable-introspection | DISTCHECK_CONFIGURE_FLAGS = --enable-introspection | ||||||
| 
 | 
 | ||||||
| TESTS_TMPDIR=$(abs_builddir)/tests-tmp |  | ||||||
| TESTS_PYTHONPATH=$(abs_srcdir)/src:$(PYTHONPATH) |  | ||||||
| 
 |  | ||||||
| DISTCLEANFILES =		\
 | DISTCLEANFILES =		\
 | ||||||
| 	intltool-extract	\
 | 	intltool-extract	\
 | ||||||
| 	intltool-merge		\
 | 	intltool-merge		\
 | ||||||
| @ -21,10 +18,4 @@ check: test | |||||||
| 	pep8 $(top_srcdir) | 	pep8 $(top_srcdir) | ||||||
| 
 | 
 | ||||||
| test: | test: | ||||||
| 	mkdir -p $(TESTS_TMPDIR) | 	python -m sugar3.test.discover $(top_srcdir)/tests | ||||||
| 	cd $(top_srcdir)/tests; \
 |  | ||||||
| 	TMPDIR=$(TESTS_TMPDIR) PYTHONPATH=$(TESTS_PYTHONPATH) \
 |  | ||||||
| 	python -m unittest discover; \
 |  | ||||||
| 	status=$$?; \
 |  | ||||||
| 	rm -rf $(TESTS_TMPDIR); \
 |  | ||||||
| 	exit $$status |  | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| sugardir = $(pythondir)/sugar3/test | sugardir = $(pythondir)/sugar3/test | ||||||
| sugar_PYTHON = \
 | sugar_PYTHON = \
 | ||||||
| 	__init__.py \
 | 	__init__.py \
 | ||||||
|  |     discover.py \
 | ||||||
| 	uitree.py \
 | 	uitree.py \
 | ||||||
| 	unittest.py | 	unittest.py | ||||||
|  | |||||||
							
								
								
									
										51
									
								
								src/sugar3/test/discover.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								src/sugar3/test/discover.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | |||||||
|  | # Copyright (C) 2013, Daniel Narvaez | ||||||
|  | # | ||||||
|  | # This program is free software; you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation; either version 2 of the License, or | ||||||
|  | # (at your option) any later version. | ||||||
|  | # | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with this program; if not, write to the Free Software | ||||||
|  | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||||
|  | 
 | ||||||
|  | """ | ||||||
|  | UNSTABLE. | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | from __future__ import absolute_import | ||||||
|  | 
 | ||||||
|  | import argparse | ||||||
|  | import sys | ||||||
|  | import os | ||||||
|  | import tempfile | ||||||
|  | import shutil | ||||||
|  | import unittest | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def main(): | ||||||
|  |     parser = argparse.ArgumentParser(description="Discover unit tests.") | ||||||
|  |     parser.add_argument("tests_dir", help="Base tests directory") | ||||||
|  |     args = parser.parse_args() | ||||||
|  | 
 | ||||||
|  |     temp_dir = tempfile.mkdtemp() | ||||||
|  | 
 | ||||||
|  |     os.chdir(args.tests_dir) | ||||||
|  |     os.environ["TMPDIR"] = temp_dir | ||||||
|  | 
 | ||||||
|  |     try: | ||||||
|  |         test = unittest.defaultTestLoader.discover(".") | ||||||
|  |         result = unittest.TextTestRunner().run(test) | ||||||
|  |         if not result.wasSuccessful(): | ||||||
|  |             sys.exit(1) | ||||||
|  |     finally: | ||||||
|  |         shutil.rmtree(temp_dir) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | if __name__ == "__main__": | ||||||
|  |     main() | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Narvaez
						Daniel Narvaez