1# 2# Copyright (C) 2023 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# 16"""Pytest fixtures common across multiple test modules.""" 17from pathlib import Path 18 19import pytest 20 21 22def make_repo_tree(root: Path) -> Path: 23 """Creates a fake repo tree in the given root.""" 24 (root / ".repo").mkdir(parents=True) 25 (root / "external/foobar").mkdir(parents=True) 26 return root 27 28 29@pytest.fixture(name="repo_tree") 30def fixture_repo_tree(tmp_path: Path) -> Path: 31 """Fixture for a repo tree.""" 32 return make_repo_tree(tmp_path) 33