| # Copyright 2019 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Test cros_extract_deps.""" |
| |
| from chromite.lib import cros_test_lib |
| from chromite.scripts import cros_extract_deps |
| |
| |
| pytestmark = cros_test_lib.pytestmark_inside_only |
| |
| |
| class FlattenDepTreeTest(cros_test_lib.TestCase): |
| """Tests for cros_extract_deps.FlattenDepTree.""" |
| |
| def testFlattenDepTreeSimple(self): |
| dep_tree = { |
| "deathstar/darthvader-2.3": { |
| "action": "merge", |
| "deps": { |
| "deathstar/trooper-1.2": { |
| "action": "merge", |
| "deps": { |
| "weapon/blasterpistol-2.1": { |
| "action": "merge", |
| "deps": {}, |
| "deptype": "runtime", |
| } |
| }, |
| "deptype": "runtime", |
| }, |
| "deathstar/pilot-2.3": { |
| "action": "merge", |
| "deps": {}, |
| "deptype": "runtime", |
| }, |
| "deathstar/commander-2.3": { |
| "action": "merge", |
| "deps": {}, |
| "deptype": "runtime", |
| }, |
| }, |
| }, |
| } |
| flatten_dep_tree = { |
| "weapon/blasterpistol-2.1": { |
| "rev_deps": ["deathstar/trooper-1.2"], |
| "category": "weapon", |
| "version": "2.1", |
| "name": "blasterpistol", |
| "deps": [], |
| "action": "merge", |
| "full_name": "weapon/blasterpistol-2.1", |
| }, |
| "deathstar/darthvader-2.3": { |
| "rev_deps": [], |
| "category": "deathstar", |
| "version": "2.3", |
| "name": "darthvader", |
| "deps": [ |
| "deathstar/commander-2.3", |
| "deathstar/pilot-2.3", |
| "deathstar/trooper-1.2", |
| ], |
| "action": "merge", |
| "full_name": "deathstar/darthvader-2.3", |
| }, |
| "deathstar/pilot-2.3": { |
| "rev_deps": ["deathstar/darthvader-2.3"], |
| "category": "deathstar", |
| "version": "2.3", |
| "name": "pilot", |
| "deps": [], |
| "action": "merge", |
| "full_name": "deathstar/pilot-2.3", |
| }, |
| "deathstar/commander-2.3": { |
| "rev_deps": ["deathstar/darthvader-2.3"], |
| "category": "deathstar", |
| "version": "2.3", |
| "name": "commander", |
| "deps": [], |
| "action": "merge", |
| "full_name": "deathstar/commander-2.3", |
| }, |
| "deathstar/trooper-1.2": { |
| "rev_deps": ["deathstar/darthvader-2.3"], |
| "category": "deathstar", |
| "version": "1.2", |
| "name": "trooper", |
| "deps": ["weapon/blasterpistol-2.1"], |
| "action": "merge", |
| "full_name": "deathstar/trooper-1.2", |
| }, |
| } |
| self.assertEqual( |
| cros_extract_deps.FlattenDepTree(dep_tree), flatten_dep_tree |
| ) |