Skip to content

Commit

Permalink
tests: use shared test data for REQUIRED_USE ebuild pkg tests
Browse files Browse the repository at this point in the history
  • Loading branch information
radhermit committed Dec 21, 2023
1 parent 67b2ec8 commit d799529
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 26 deletions.
2 changes: 1 addition & 1 deletion testdata
Submodule testdata updated 38 files
+0 −1 repos/metadata/inherit/direct/direct-0.ebuild
+0 −1 repos/metadata/inherit/indirect/indirect-0.ebuild
+0 −1 repos/metadata/inherit/none/none-0.ebuild
+0 −4 repos/metadata/iuse/empty/empty-8.ebuild
+0 −3 repos/metadata/iuse/none/none-8.ebuild
+0 −4 repos/metadata/keywords/empty/empty-0.ebuild
+0 −3 repos/metadata/keywords/none/none-0.ebuild
+0 −4 repos/metadata/license/empty/empty-8.ebuild
+0 −3 repos/metadata/license/none/none-8.ebuild
+2 −2 repos/metadata/metadata/md5-cache/inherit/direct-0
+2 −2 repos/metadata/metadata/md5-cache/inherit/indirect-0
+1 −2 repos/metadata/metadata/md5-cache/inherit/none-0
+0 −5 repos/metadata/metadata/md5-cache/iuse/empty-8
+0 −5 repos/metadata/metadata/md5-cache/iuse/none-8
+0 −5 repos/metadata/metadata/md5-cache/keywords/empty-0
+0 −5 repos/metadata/metadata/md5-cache/keywords/none-0
+0 −5 repos/metadata/metadata/md5-cache/license/empty-8
+0 −5 repos/metadata/metadata/md5-cache/license/none-8
+5 −0 repos/metadata/metadata/md5-cache/optional/empty-8
+5 −0 repos/metadata/metadata/md5-cache/optional/none-8
+0 −6 repos/metadata/metadata/md5-cache/phases/none-0
+0 −5 repos/metadata/metadata/md5-cache/properties/empty-8
+0 −5 repos/metadata/metadata/md5-cache/properties/none-8
+19 −0 repos/metadata/metadata/md5-cache/required_use/inherit-8
+7 −0 repos/metadata/metadata/md5-cache/required_use/multi-8
+7 −0 repos/metadata/metadata/md5-cache/required_use/single-8
+0 −5 repos/metadata/metadata/md5-cache/restrict/empty-8
+0 −5 repos/metadata/metadata/md5-cache/restrict/none-8
+17 −0 repos/metadata/optional/empty/empty-8.ebuild
+3 −0 repos/metadata/optional/none/none-8.ebuild
+0 −4 repos/metadata/phases/none/none-0.ebuild
+0 −4 repos/metadata/properties/empty/empty-8.ebuild
+0 −3 repos/metadata/properties/none/none-8.ebuild
+5 −0 repos/metadata/required_use/inherit/inherit-8.ebuild
+10 −0 repos/metadata/required_use/multi/multi-8.ebuild
+5 −0 repos/metadata/required_use/single/single-8.ebuild
+0 −4 repos/metadata/restrict/empty/empty-8.ebuild
+0 −3 repos/metadata/restrict/none/none-8.ebuild
57 changes: 32 additions & 25 deletions tests/pkg/test_ebuild.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,11 +178,11 @@ def test_ownership(self, ebuild_repo):

def test_license(self):
# none
pkg = TEST_DATA.repos["metadata"]["license/none-8"]
pkg = TEST_DATA.repos["metadata"]["optional/none-8"]
assert not pkg.license

# empty
pkg = TEST_DATA.repos["metadata"]["license/empty-8"]
pkg = TEST_DATA.repos["metadata"]["optional/empty-8"]
assert not pkg.license

# single-line
Expand All @@ -203,11 +203,11 @@ def test_license(self):

def test_properties(self):
# none
pkg = TEST_DATA.repos["metadata"]["properties/none-8"]
pkg = TEST_DATA.repos["metadata"]["optional/none-8"]
assert not pkg.properties

# empty
pkg = TEST_DATA.repos["metadata"]["properties/empty-8"]
pkg = TEST_DATA.repos["metadata"]["optional/empty-8"]
assert not pkg.properties

# single-line
Expand All @@ -226,27 +226,34 @@ def test_properties(self):
pkg = TEST_DATA.repos["metadata"]["properties/inherit-8"]
assert str(pkg.properties) == "global ebuild eclass a b"

def test_required_use(self, ebuild_repo):
pkg = ebuild_repo.create_pkg("cat/pkg-1")
def test_required_use(self):
# none
pkg = TEST_DATA.repos["metadata"]["optional/none-8"]
assert not pkg.required_use

pkg = ebuild_repo.create_pkg("cat/pkg-1", required_use="use")
assert str(pkg.required_use) == "use"
assert list(pkg.required_use.iter_flatten()) == ["use"]
assert list(map(str, pkg.required_use.iter_recursive())) == ["use"]
# empty
pkg = TEST_DATA.repos["metadata"]["optional/empty-8"]
assert not pkg.required_use

pkg = ebuild_repo.create_pkg("cat/pkg-1", required_use="u1? ( u2 )")
assert str(pkg.required_use) == "u1? ( u2 )"
assert list(pkg.required_use.iter_flatten()) == ["u2"]
assert list(map(str, pkg.required_use.iter_recursive())) == ["u1? ( u2 )", "u2"]
# single-line
pkg = TEST_DATA.repos["metadata"]["required_use/single-8"]
assert str(pkg.required_use) == "u1 u2"

# multi-line
pkg = TEST_DATA.repos["metadata"]["required_use/multi-8"]
assert str(pkg.required_use) == "^^ ( u1 u2 )"

# incremental inherit
pkg = TEST_DATA.repos["metadata"]["required_use/inherit-8"]
assert str(pkg.required_use) == "global ebuild eclass a b"

def test_restrict(self):
# none
pkg = TEST_DATA.repos["metadata"]["restrict/none-8"]
pkg = TEST_DATA.repos["metadata"]["optional/none-8"]
assert not pkg.restrict

# empty
pkg = TEST_DATA.repos["metadata"]["restrict/empty-8"]
pkg = TEST_DATA.repos["metadata"]["optional/empty-8"]
assert not pkg.restrict

# single-line
Expand Down Expand Up @@ -303,7 +310,7 @@ def test_src_uri(self, ebuild_repo):

def test_defined_phases(self):
# none
pkg = TEST_DATA.repos["metadata"]["phases/none-0"]
pkg = TEST_DATA.repos["metadata"]["optional/none-8"]
assert pkg.defined_phases == []

# ebuild-defined
Expand All @@ -325,32 +332,32 @@ def test_homepage(self, ebuild_repo):

# multiple
pkg = ebuild_repo.create_pkg("cat/pkg-1", homepage="https://a.com https://b.com")
assert pkg.homepage == {"https://a.com", "https://b.com"}
assert pkg.homepage == ["https://a.com", "https://b.com"]

def test_keywords(self):
# none
pkg = TEST_DATA.repos["metadata"]["keywords/none-0"]
pkg = TEST_DATA.repos["metadata"]["optional/none-8"]
assert pkg.keywords == []

# empty
pkg = TEST_DATA.repos["metadata"]["keywords/empty-0"]
pkg = TEST_DATA.repos["metadata"]["optional/empty-8"]
assert pkg.keywords == []

# single line
pkg = TEST_DATA.repos["metadata"]["keywords/single-0"]
assert pkg.keywords == {"amd64", "~arm64"}
assert pkg.keywords == ["amd64", "~arm64"]

# multiple lines
pkg = TEST_DATA.repos["metadata"]["keywords/multi-0"]
assert pkg.keywords == {"~amd64", "arm64"}
assert pkg.keywords == ["~amd64", "arm64"]

def test_iuse(self):
# none
pkg = TEST_DATA.repos["metadata"]["iuse/none-8"]
pkg = TEST_DATA.repos["metadata"]["optional/none-8"]
assert pkg.iuse == []

# empty
pkg = TEST_DATA.repos["metadata"]["iuse/empty-8"]
pkg = TEST_DATA.repos["metadata"]["optional/empty-8"]
assert pkg.iuse == []

# single-line
Expand All @@ -367,7 +374,7 @@ def test_iuse(self):

def test_inherits(self):
# none
pkg = TEST_DATA.repos["metadata"]["inherit/none-0"]
pkg = TEST_DATA.repos["metadata"]["optional/none-8"]
assert pkg.inherit == []
assert pkg.inherited == []

Expand Down

0 comments on commit d799529

Please sign in to comment.