-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathtest_recipe.py
More file actions
93 lines (88 loc) · 2.86 KB
/
test_recipe.py
File metadata and controls
93 lines (88 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Copyright (c) 2021 The Toltec Contributors
# SPDX-License-Identifier: MIT
import unittest
import textwrap
from datetime import datetime
from toltec.recipe import Package, Recipe
from toltec.version import (
Version,
Dependency,
DependencyKind,
VersionComparator,
)
class TestRecipe(unittest.TestCase):
def test_derived_fields(self) -> None:
rec = Recipe(
path="test",
timestamp=datetime.now(),
sources=set(),
makedepends=set(),
preparedepends=set(),
maintainer="Test <test@example.com>",
image="",
arch="armv7-3.2",
flags=[],
prepare="",
build="",
packages={},
)
pkg = Package(
name="test",
parent=rec,
version=Version(42, "12.1", "8"),
desc="Test package",
url="https://example.com/toltec/test",
section="misc",
license="MIT",
installdepends={
Dependency(
DependencyKind.HOST,
"test-dep",
VersionComparator.EQUAL,
Version(42, "1.0.0", "8"),
),
Dependency(
DependencyKind.HOST,
"aaaaaaaa",
VersionComparator.GREATER_THAN_OR_EQUAL,
Version(0, "1.0.0", "1"),
),
},
recommends={Dependency(DependencyKind.HOST, "recommended")},
optdepends={Dependency(DependencyKind.HOST, "optdep")},
conflicts={Dependency(DependencyKind.HOST, "conflict")},
replaces={Dependency(DependencyKind.HOST, "replaced")},
provides={Dependency(DependencyKind.HOST, "provided")},
package="",
preinstall="",
configure="",
preupgrade="",
postupgrade="",
preremove="",
postremove="",
)
self.assertEqual(pkg.pkgid(), "test_42_12.1-8_armv7-3.2")
self.assertEqual(
pkg.filename(), "armv7-3.2/test_42_12.1-8_armv7-3.2.ipk"
)
self.assertEqual(
pkg.control_fields(),
textwrap.dedent(
"""\
Package: test
Description: Test package
Homepage: https://example.com/toltec/test
Version: 42:12.1-8
Section: misc
Maintainer: Test <test@example.com>
License: MIT
Architecture: armv7-3.2
Depends: aaaaaaaa (>= 1.0.0-1), test-dep (= 42:1.0.0-8)
Recommends: recommended
Suggests: optdep
Conflicts: conflict
Replaces: replaced
Provides: provided
"""
),
)