blob: 2d4f11e61e4d4f0a9b1ae3f672feeb9e253a2b57 [file] [log] [blame]
# 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) -> None:
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
)