mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	Mypy can’t follow absolute imports based on directories other than the root. This was hiding some type errors due to ignore_missing_imports. Signed-off-by: Anders Kaseorg <anders@zulip.com>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env python3
 | 
						|
import argparse
 | 
						|
import os
 | 
						|
import sys
 | 
						|
import unittest
 | 
						|
 | 
						|
tools_dir = os.path.dirname(os.path.abspath(__file__))
 | 
						|
root_dir = os.path.abspath(os.path.join(tools_dir, ".."))
 | 
						|
tools_test_dir = os.path.join(tools_dir, "tests")
 | 
						|
 | 
						|
sys.path.insert(0, root_dir)
 | 
						|
 | 
						|
# check for the venv
 | 
						|
from tools.lib import sanity_check
 | 
						|
 | 
						|
sanity_check.check_venv(__file__)
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    parser = argparse.ArgumentParser()
 | 
						|
    parser.add_argument("--coverage", action="store_true", help="compute test coverage")
 | 
						|
    args = parser.parse_args()
 | 
						|
 | 
						|
    loader = unittest.TestLoader()
 | 
						|
 | 
						|
    if args.coverage:
 | 
						|
        import coverage
 | 
						|
 | 
						|
        cov = coverage.Coverage(
 | 
						|
            branch=True, omit=["*/zulip-venv-cache/*", os.path.join(tools_test_dir, "*")]
 | 
						|
        )
 | 
						|
        cov.start()
 | 
						|
 | 
						|
    suite = loader.discover(start_dir=tools_test_dir, top_level_dir=root_dir)
 | 
						|
    runner = unittest.TextTestRunner(verbosity=2)
 | 
						|
    result = runner.run(suite)
 | 
						|
    if result.errors or result.failures:
 | 
						|
        raise Exception("Test failed!")
 | 
						|
 | 
						|
    if args.coverage:
 | 
						|
        cov.stop()
 | 
						|
        cov.save()
 | 
						|
        cov.html_report(directory="var/tools_coverage")
 | 
						|
        print("HTML report saved to var/tools_coverage")
 | 
						|
 | 
						|
    print("SUCCESS")
 |