blob: b0a03c9e75c73e76b71ffeb191f71f79a54c2278 [file] [log] [blame]
Anindita Ghosh1582b412020-07-31 10:24:27 +00001#!/usr/bin/env python3
2# Copyright (C) 2020 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16import argparse
17import os
18import sys
19import unittest
20
Lalit Maganti4c76b4d2022-01-11 15:37:41 +000021from test import api_unittest
22from test import api_integrationtest
Lalit Maganti9fe07de2022-01-15 00:18:44 +000023from test import resolver_unittest
Anna Mayznerb2153902023-01-06 16:32:49 +000024from test import stdlib_unittest
Lalit Maganti4c76b4d2022-01-11 15:37:41 +000025
Anindita Ghosh1582b412020-07-31 10:24:27 +000026ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Lalit Maganti6b2ac692023-05-23 01:24:29 +010027sys.path.append(os.path.join(ROOT_DIR))
Anindita Ghosh1582b412020-07-31 10:24:27 +000028
29
30def main():
Primiano Tucci44a15be2021-11-06 21:40:18 +000031 try:
32 import numpy
33 import pandas
34 except ModuleNotFoundError:
35 print('Cannot proceed. Please `pip3 install pandas numpy`', file=sys.stderr)
36 return 1
37
Anindita Ghosh1582b412020-07-31 10:24:27 +000038 # Set paths to trace_processor_shell and root directory as environment
39 # variables
40 parser = argparse.ArgumentParser()
41 parser.add_argument("shell", type=str)
42 os.environ["SHELL_PATH"] = parser.parse_args().shell
43 os.environ["ROOT_DIR"] = ROOT_DIR
44
Anindita Ghosh1582b412020-07-31 10:24:27 +000045 loader = unittest.TestLoader()
46 suite = unittest.TestSuite()
47
48 # Add all relevant tests to test suite
49 suite.addTests(loader.loadTestsFromModule(api_unittest))
Lalit Maganti9fe07de2022-01-15 00:18:44 +000050 suite.addTests(loader.loadTestsFromModule(resolver_unittest))
Anindita Ghosh1582b412020-07-31 10:24:27 +000051 suite.addTests(loader.loadTestsFromModule(api_integrationtest))
Anna Mayznerb2153902023-01-06 16:32:49 +000052 suite.addTests(loader.loadTestsFromModule(stdlib_unittest))
Anindita Ghosh1582b412020-07-31 10:24:27 +000053
54 # Initialise runner to run all tests in suite
55 runner = unittest.TextTestRunner(verbosity=3)
56 result = runner.run(suite)
57
Lalit Maganti0fdfdcf2020-08-25 15:55:10 +010058 return 0 if result.wasSuccessful() else 1
59
Anindita Ghosh1582b412020-07-31 10:24:27 +000060
61if __name__ == '__main__':
62 sys.exit(main())