1# Licensed under the Apache License, Version 2.0 (the "License");
2# you may not use this file except in compliance with the License.
3# You may obtain a copy of the License at
4#
5#      http://www.apache.org/licenses/LICENSE-2.0
6#
7# Unless required by applicable law or agreed to in writing, software
8# distributed under the License is distributed on an "AS IS" BASIS,
9# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10# See the License for the specific language governing permissions and
11# limitations under the License.
12
13"""A test suite that runs all tests for pyfakefs at once.
14Excludes tests using external scandir package."""
15
16import sys
17import unittest
18
19from pyfakefs import extra_packages
20
21if extra_packages.use_scandir_package:
22    extra_packages.use_scandir_package = False
23    try:
24        from os import scandir
25    except ImportError:
26        scandir = None
27    extra_packages.scandir = scandir
28    extra_packages.use_scandir = scandir
29
30from pyfakefs.tests.all_tests import AllTests  # noqa: E402
31
32if __name__ == "__main__":
33    result = unittest.TextTestRunner(verbosity=2).run(AllTests().suite())
34    sys.exit(int(not result.wasSuccessful()))
35