def setUp(self): test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) sort_mode = RunSortMode(RunSortType.DATE, Order.ASC) runs = self._cc_client.getRunData(None, None, 0, sort_mode) test_runs = [run for run in runs if run.name in run_names] self._runid = test_runs[0].runId self._project_info = env.setup_test_proj_cfg(test_workspace)
def setUp(self): test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) self._codechecker_cfg = env.import_codechecker_cfg(test_workspace) self._test_dir = os.path.join(test_workspace, 'test_files') # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] self._runid = test_runs[0].runId
def setUp(self): self._test_workspace = os.environ.get('TEST_WORKSPACE') test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self._test_workspace) self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(self._test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test run_names = env.get_run_names(self._test_workspace) runs = self._cc_client.getRunData(None, None, 0, None) test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(test_runs), 1, 'There should be only one run for this test.') self._runid = test_runs[0].runId self._run_name = test_runs[0].name
def setUp(self): """ WARNING!!! This is an example how to get the configurations needed by the tests. WARNING!!! """ # TEST_WORKSPACE is automatically set by test package __init__.py . test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the test configuration from the prepared int the test workspace. test_cfg = env.import_test_cfg(test_workspace) # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) # Setup a viewer client to test viewer API calls. self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Setup a server client to test server API calls. self._report = env.setup_server_client(test_workspace) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData() test_runs = [run for run in runs if run.name in run_names]
def setUp(self): # TEST_WORKSPACE is automatically set by test package __init__.py test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() # Get the test configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) # Setup a viewer client to test viewer API calls. self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(test_runs), 1, "There should be only one run for this test.") self._runid = test_runs[0].runId
def setUp(self): self._test_workspace = os.environ['TEST_WORKSPACE'] self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) self._test_project_path = self._testproject_data['project_path']
def setUp(self): test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData() test_runs = [run for run in runs if run.name in run_names] for r in test_runs: print(r) # There should be at least two runs for this test. self.assertIsNotNone(runs) self.assertNotEqual(len(runs), 0) self.assertGreaterEqual(len(runs), 2) # Name order matters from __init__ ! self._base_runid = test_runs[0].runId # base self._new_runid = test_runs[1].runId # new
def setUp(self): # TEST_WORKSPACE is automatically set by test package __init__.py . test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) codechecker_cfg = env.import_test_cfg( test_workspace)['codechecker_cfg'] self.server_url = env.parts_to_url(codechecker_cfg) # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) # Setup a viewer client to test viewer API calls. self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData(None, None, 0, None) self.test_runs = [run for run in runs if run.name in run_names]
def setUp(self): self._test_workspace = os.environ.get('TEST_WORKSPACE') test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self._test_workspace) self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(self._test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test run_names = env.get_run_names(self._test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(test_runs), 1, 'There should be only one run for this test.') self._runid = test_runs[0].runId self._run_name = test_runs[0].name
def setUp(self): # TEST_WORKSPACE is automatically set by test package __init__.py . test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the test configuration from the prepared int the test workspace. self._test_cfg = env.import_test_cfg(test_workspace) self._codechecker_cfg = self._test_cfg['codechecker_cfg'] # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._test_dir = os.path.join(test_workspace, 'test_files') try: os.makedirs(self._test_dir) except os.error: # Directory already exists. pass # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() self.base_reports = self._codechecker_cfg['reportdir_base'] self.new_reports = self._codechecker_cfg['reportdir_new']
def setUp(self): test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) test_cfg = env.import_test_cfg(test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData() test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(test_runs), 1, "There should be only one run for this test.") self._runid = test_runs[0].runId
def setUp(self): """ Not much setup is needed. Runs and results are automatically generated. """ test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._report = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._report) # Store runs to check. self._codechecker_cfg = env.import_codechecker_cfg(test_workspace) source_dir = os.path.join(os.path.dirname(__file__), 'test_files') self._test_dir = os.path.join(test_workspace, 'test_files') shutil.copytree(source_dir, self._test_dir) _replace_path(os.path.join(self._test_dir, 'run.plist'), self._test_dir) self._codechecker_cfg['reportdir'] = self._test_dir codechecker.store(self._codechecker_cfg, 'test_hash_clash_' + uuid4().hex)
def setUp(self): """ WARNING!!! This is an example how to get the configurations needed by the tests. WARNING!!! """ # TEST_WORKSPACE is automatically set by test package __init__.py . test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the test configuration from the prepared int the test workspace. test_cfg = env.import_test_cfg(test_workspace) # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) # Setup a viewer client to test viewer API calls. self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names]
def setUp(self): # TEST_WORKSPACE is automatically set by test package __init__.py . test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the test configuration from the prepared int the test workspace. self._test_cfg = env.import_test_cfg(test_workspace) # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) # Setup a viewer client to test viewer API calls. self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() # Get the run names which belong to this test. self._run_names = env.get_run_names(test_workspace) local_test_project = \ self._test_cfg['test_project']['project_path_local'] self._local_reports = os.path.join(local_test_project, 'reports') self._url = env.parts_to_url(self._test_cfg['codechecker_cfg']) self._env = self._test_cfg['codechecker_cfg']['check_env']
def setUp(self): self.test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self.test_workspace) self._testproject_data = env.setup_test_proj_cfg(self.test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(self.test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(self.test_workspace) # get the current run data run_filter = RunFilter(names=run_names, exactMatch=True) runs = self._cc_client.getRunData(run_filter, None, 0, None) test_runs = [run for run in runs if run.name in run_names] self.assertEqual( len(test_runs), 1, 'There should be only one run for this test, ' 'with the given name configured at the test init.') self._runid = test_runs[0].runId
def setUp(self): test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) self._codechecker_cfg = env.import_codechecker_cfg(test_workspace) self._test_dir = os.path.join(test_workspace, 'test_files') # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] self._runid = test_runs[0].runId
def setUp(self): self._test_workspace = os.environ['TEST_WORKSPACE'] self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) self._test_project_path = self._testproject_data['project_path'] self._test_directory = os.path.dirname(os.path.abspath(inspect.getfile( inspect.currentframe())))
def setUp(self): self._test_workspace = os.environ.get('TEST_WORKSPACE') test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self._test_workspace) self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(self._test_workspace) self.assertIsNotNone(self._cc_client)
def setUp(self): self._test_workspace = os.environ.get('TEST_WORKSPACE') test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self._test_workspace) self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) # Get the test configuration from the prepared int the test workspace. self.test_cfg = env.import_test_cfg(self._test_workspace) self._product_name = self.test_cfg['codechecker_cfg']['viewer_product'] pr_client = env.setup_product_client(self._test_workspace, product=self._product_name) product_id = pr_client.getCurrentProduct().id # Setup an authentication client for creating sessions. self._auth_client = env.setup_auth_client(self._test_workspace, session_token='_PROHIBIT') # Create an PRODUCT_ADMIN login. admin_token = self._auth_client.performLogin("Username:Password", "admin:admin123") extra_params = '{"productID":' + str(product_id) + '}' ret = self._auth_client.addPermission(Permission.PRODUCT_ADMIN, "admin", False, extra_params) self.assertTrue(ret) self._cc_client = env.setup_viewer_client(self._test_workspace, session_token=admin_token) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test run_names = env.get_run_names(self._test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(test_runs), 1, 'There should be only one run for this test.') self._runid = test_runs[0].runId self._run_name = test_runs[0].name self._component_name = 'dummy_component' self._component_value = '\n'.join( ['+*/divide_zero.cpp', '-*/new_delete.cpp']) self._component_description = "Test component"
def setUp(self): # TEST_WORKSPACE is automatically set by test package __init__.py . test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() self.env = env.codechecker_env() # Get if the package is able to collect statistics or not. cmd = [self._codechecker_cmd, 'analyze', '-h'] output, _ = call_command(cmd, cwd=test_workspace, env=self.env) self.stats_capable = '--stats' in output print("'analyze' reported statistics collector-compatibility? " + str(self.stats_capable)) if not self.stats_capable: try: self.stats_capable = bool( util.strtobool(os.environ['CC_TEST_FORCE_STATS_CAPABLE'])) except (ValueError, KeyError): pass test_project_path = self._testproject_data['project_path'] test_project_build = shlex.split(self._testproject_data['build_cmd']) test_project_clean = shlex.split(self._testproject_data['clean_cmd']) # Clean the test project before logging the compiler commands. output, err = call_command(test_project_clean, cwd=test_project_path, env=self.env) print(output) print(err) # Create compilation log used in the tests. log_cmd = [ self._codechecker_cmd, 'log', '-o', 'compile_command.json', '-b' ] log_cmd.extend(test_project_build) output, err = call_command(log_cmd, cwd=test_project_path, env=self.env) print(output) print(err)
def setUp(self): test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) self._run_names = env.get_run_names(test_workspace)
def setUp(self): # TEST_WORKSPACE is automatically set by test package __init__.py . self.test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self.test_workspace) # Get the test configuration from the prepared int the test workspace. self.test_cfg = env.import_test_cfg(self.test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(self.test_workspace) self.assertIsNotNone(self._testproject_data) # Setup a viewer client to test viewer API calls. self._cc_client = env.setup_viewer_client(self.test_workspace) self.assertIsNotNone(self._cc_client) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() # Get the run names which belong to this test. # Name order matters from __init__ ! run_names = env.get_run_names(self.test_workspace) sort_mode = RunSortMode(RunSortType.DATE, Order.ASC) runs = self._cc_client.getRunData(None, None, 0, sort_mode) self._test_runs = [run for run in runs if run.name in run_names] # There should be at least two runs for this test. self.assertIsNotNone(runs) self.assertNotEqual(len(runs), 0) self.assertGreaterEqual(len(runs), 2) # Name order matters from __init__ ! self._base_runid = self._test_runs[0].runId self._new_runid = self._test_runs[1].runId self._update_runid = self._test_runs[2].runId self._url = env.parts_to_url(self.test_cfg['codechecker_cfg']) self._env = self.test_cfg['codechecker_cfg']['check_env']
def setUp(self): test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] for r in test_runs: print(r) # There should be at least two runs for this test. self.assertIsNotNone(runs) self.assertNotEqual(len(runs), 0) self.assertGreaterEqual(len(runs), 2) # Name order matters from __init__ ! self._base_runid = test_runs[0].runId # base self._new_runid = test_runs[1].runId # new self._update_runid = test_runs[2].runId # updated self._codechecker_cmd = env.codechecker_cmd() self._report_dir = os.path.join(test_workspace, "reports") self._report_dir_baseline = os.path.join(test_workspace, "reports_baseline") self._test_config = env.import_test_cfg(test_workspace) self._run_names = env.get_run_names(test_workspace) self._html_reports = os.path.join(test_workspace, "html_reports") self._url = env.parts_to_url(self._test_config['codechecker_cfg'])
def setUp(self): """ Not much setup is needed. Runs and results are automatically generated. """ test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._report = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._report)
def setUp(self): test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] for r in test_runs: print(r) # There should be at least two runs for this test. self.assertIsNotNone(runs) self.assertNotEqual(len(runs), 0) self.assertGreaterEqual(len(runs), 2) # Name order matters from __init__ ! self._base_runid = test_runs[0].runId # base self._new_runid = test_runs[1].runId # new self._update_runid = test_runs[2].runId # updated self._codechecker_cmd = env.codechecker_cmd() self._report_dir = os.path.join(test_workspace, "reports") self._report_dir_baseline = os.path.join(test_workspace, "reports_baseline") self._test_config = env.import_test_cfg(test_workspace) self._run_names = env.get_run_names(test_workspace) self._html_reports = os.path.join(test_workspace, "html_reports") self._url = env.parts_to_url(self._test_config['codechecker_cfg'])
def setUp(self): # TEST_WORKSPACE is automatically set by test package __init__.py . test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) self._cc_port = env.import_test_cfg( test_workspace)['codechecker_cfg']['viewer_port'] # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) # Setup a viewer client to test viewer API calls. self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd()
def setUp(self): # TEST_WORKSPACE is automatically set by test package __init__.py . self.test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self.test_workspace) # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(self.test_workspace) self.assertIsNotNone(self._testproject_data) # Setup a viewer client to test viewer API calls. self._cc_client = env.setup_viewer_client(self.test_workspace) self.assertIsNotNone(self._cc_client) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() self._codechecker_cfg = env.import_codechecker_cfg(self.test_workspace) self.env = env.codechecker_env()
def setUp(self): self._test_workspace = os.environ['TEST_WORKSPACE'] self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) self._test_project_path = self._testproject_data['project_path'] self._cc_client = env.setup_viewer_client(self._test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test run_names = env.get_run_names(self._test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(test_runs), 1, 'There should be only one run for this test.') self._runid = test_runs[0].runId self._run_name = test_runs[0].name
def setUp(self): self._test_workspace = os.environ['TEST_WORKSPACE'] self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) self._test_project_path = self._testproject_data['project_path'] self._cc_client = env.setup_viewer_client(self._test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test run_names = env.get_run_names(self._test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(test_runs), 1, 'There should be only one run for this test.') self._runid = test_runs[0].runId self._run_name = test_runs[0].name
def setUp(self): self._test_workspace = os.environ.get('TEST_WORKSPACE') test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self._test_workspace) self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) auth_client = env.setup_auth_client(self._test_workspace, session_token='_PROHIBIT') sessionToken_cc = auth_client.performLogin("Username:Password", "cc:test") sessionToken_john = auth_client.performLogin("Username:Password", "john:doe") self._cc_client =\ env.setup_viewer_client( self._test_workspace, session_token=sessionToken_cc) self._cc_client_john =\ env.setup_viewer_client( self._test_workspace, session_token=sessionToken_john) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test run_names = env.get_run_names(self._test_workspace) runs = self._cc_client.getRunData(None) self._test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(self._test_runs), 2, 'There should be two runs for this test.')
def setUp(self): self._test_workspace = os.environ.get('TEST_WORKSPACE') test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self._test_workspace) self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) auth_client = env.setup_auth_client(self._test_workspace, session_token='_PROHIBIT') sessionToken_cc = auth_client.performLogin("Username:Password", "cc:test") sessionToken_john = auth_client.performLogin("Username:Password", "john:doe") self._cc_client =\ env.setup_viewer_client( self._test_workspace, session_token=sessionToken_cc) self._cc_client_john =\ env.setup_viewer_client( self._test_workspace, session_token=sessionToken_john) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test run_names = env.get_run_names(self._test_workspace) runs = self._cc_client.getRunData(None, None, 0, None) self._test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(self._test_runs), 2, 'There should be two runs for this test.')
def setUp(self): test_workspace = os.environ.get('TEST_WORKSPACE') test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) codechecker_cfg = env.import_test_cfg( test_workspace)['codechecker_cfg'] self.server_url = env.parts_to_url(codechecker_cfg) # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) # Setup a viewer client to test viewer API calls. self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() self._test_config = env.import_test_cfg(test_workspace)
def setUp(self): # TEST_WORKSPACE is automatically set by test package __init__.py . test_workspace = os.environ['TEST_WORKSPACE'] test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the test project configuration from the prepared test workspace. self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) # Get the CodeChecker cmd if needed for the tests. self._codechecker_cmd = env.codechecker_cmd() self.env = env.codechecker_env() # Get if the package is able to collect statistics or not. cmd = [self._codechecker_cmd, 'analyze', '-h'] output, _ = call_command(cmd, cwd=test_workspace, env=self.env) self.stats_capable = '--stats' in output print("'analyze' reported statistics collector-compatibility? " + str(self.stats_capable)) test_project_path = self._testproject_data['project_path'] test_project_build = shlex.split(self._testproject_data['build_cmd']) # Create compilation log used in the tests. log_cmd = [self._codechecker_cmd, 'log', '-o', 'compile_command.json', '-b'] log_cmd.extend(test_project_build) output, err = call_command(log_cmd, cwd=test_project_path, env=self.env) print(output) print(err)
def setUp(self): test_workspace = os.environ['TEST_WORKSPACE'] self.maxDiff = None test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + test_workspace) # Get the clang version which is tested. self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(test_workspace) self.assertIsNotNone(self._testproject_data) self._cc_client = env.setup_viewer_client(test_workspace) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test. run_names = env.get_run_names(test_workspace) runs = self._cc_client.getRunData(None) self._test_runs = [run for run in runs if run.name in run_names] self._runids = [r.runId for r in self._test_runs] self.run1_checkers = \ {'core.CallAndMessage': 5, 'core.DivideZero': 10, 'core.NullDereference': 4, 'core.StackAddressEscape': 3, 'cplusplus.NewDelete': 5, 'deadcode.DeadStores': 6, 'unix.Malloc': 1} self.run2_checkers = \ {'core.CallAndMessage': 5, 'core.DivideZero': 10, 'core.NullDereference': 4, 'cplusplus.NewDelete': 5, 'deadcode.DeadStores': 6, 'unix.MismatchedDeallocator': 1} self.run1_sev_counts = { Severity.MEDIUM: 1, Severity.LOW: 6, Severity.HIGH: 27 } self.run2_sev_counts = { Severity.MEDIUM: 1, Severity.LOW: 6, Severity.HIGH: 24 } self.run1_detection_counts = \ {DetectionStatus.NEW: 34} self.run2_detection_counts = \ {DetectionStatus.NEW: 31} self.run1_files = \ {'file_to_be_skipped.cpp': 2, 'null_dereference.cpp': 5, 'new_delete.cpp': 6, 'stack_address_escape.cpp': 3, 'call_and_message.cpp': 5, 'divide_zero.cpp': 4, 'divide_zero_duplicate.cpp': 2, 'has a space.cpp': 1, 'skip_header.cpp': 1, 'skip.h': 1, 'path_begin.cpp': 2, 'path_end.h': 2 } self.run2_files = \ {'call_and_message.cpp': 5, 'new_delete.cpp': 6, 'divide_zero.cpp': 4, 'divide_zero_duplicate.cpp': 2, 'null_dereference.cpp': 5, 'file_to_be_skipped.cpp': 2, 'has a space.cpp': 1, 'skip_header.cpp': 1, 'skip.h': 1, 'path_begin.cpp': 2, 'path_end.h': 2 }
def setUp(self): self._test_workspace = os.environ.get('TEST_WORKSPACE') test_class = self.__class__.__name__ print('Running ' + test_class + ' tests in ' + self._test_workspace) self._clang_to_test = env.clang_to_test() self._testproject_data = env.setup_test_proj_cfg(self._test_workspace) self.assertIsNotNone(self._testproject_data) # Get the test configuration from the prepared int the test workspace. self.test_cfg = env.import_test_cfg(self._test_workspace) self._product_name = self.test_cfg['codechecker_cfg']['viewer_product'] pr_client = env.setup_product_client( self._test_workspace, product=self._product_name) product_id = pr_client.getCurrentProduct().id # Setup an authentication client for creating sessions. self._auth_client = env.setup_auth_client(self._test_workspace, session_token='_PROHIBIT') # Create an PRODUCT_ADMIN login. admin_token = self._auth_client.performLogin("Username:Password", "admin:admin123") extra_params = '{"productID":' + str(product_id) + '}' ret = self._auth_client.addPermission(Permission.PRODUCT_ADMIN, "admin", False, extra_params) self.assertTrue(ret) self._cc_client = env.setup_viewer_client(self._test_workspace, session_token=admin_token) self.assertIsNotNone(self._cc_client) # Get the run names which belong to this test run_names = env.get_run_names(self._test_workspace) runs = self._cc_client.getRunData(None) test_runs = [run for run in runs if run.name in run_names] self.assertEqual(len(test_runs), 1, 'There should be only one run for this test.') self._runid = test_runs[0].runId self._run_name = test_runs[0].name self.components = [ { 'name': 'test_component1', 'value': '\n'.join(['+*/divide_zero.cpp', '-*/new_delete.cpp']), 'description': 'Description of my first component' }, { 'name': 'component name with whitespaces', 'value': '\n'.join(['+*/divide_zero.cpp', '-*/new_delete.cpp']), 'description': 'Description of my second component' }, { 'name': 'test_component2', 'value': '\n'.join(['+*/divide_zero.cpp', '+*/null_dereference.cpp', '-*/call_and_message.cpp', '-*/new_delete.*']), 'description': 'Description of my second component' }, { 'name': 'complex1', 'value': '\n'.join(['+*/divide_zero.cpp', '-*/call_and_message.cpp']) }, { 'name': 'complex2', 'value': '\n'.join(['+*/null_dereference.cpp', '-*/new_delete.cpp']) }, { 'name': 'exclude_all', 'value': '-*' } ]