aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/release/test_cibuild.py91
1 files changed, 77 insertions, 14 deletions
diff --git a/test/release/test_cibuild.py b/test/release/test_cibuild.py
index efa2f072..cfa24e63 100644
--- a/test/release/test_cibuild.py
+++ b/test/release/test_cibuild.py
@@ -36,6 +36,14 @@ def test_buildenviron_common():
with pytest.raises(cibuild.BuildError):
be.platform_tag
+ with pytest.raises(ValueError, match="TRAVIS_TAG"):
+ be = cibuild.BuildEnviron(
+ system="Linux",
+ root_dir="/foo",
+ travis_tag="one",
+ travis_branch="two",
+ )
+
def test_buildenviron_pr():
# Simulates a PR. We build everything, but don't have access to secret
@@ -56,6 +64,7 @@ def test_buildenviron_pr():
)
assert be.is_pull_request
assert not be.is_prod_release
+ assert not be.is_maintenance_branch
def test_buildenviron_commit():
@@ -75,6 +84,7 @@ def test_buildenviron_commit():
assert not be.should_upload_pypi
assert be.should_upload_docker
assert not be.is_prod_release
+ assert not be.is_maintenance_branch
def test_buildenviron_releasetag():
@@ -82,8 +92,8 @@ def test_buildenviron_releasetag():
be = cibuild.BuildEnviron(
system="Linux",
root_dir="/foo",
- travis_tag="0.0.1",
- travis_branch="v0.x",
+ travis_tag="v0.0.1",
+ travis_branch="v0.0.1",
should_build_wheel=True,
should_build_docker=True,
should_build_pyinstaller=True,
@@ -91,18 +101,44 @@ def test_buildenviron_releasetag():
docker_username="foo",
docker_password="bar",
)
- assert be.tag == "0.0.1"
- assert be.branch == "v0.x"
+ assert be.tag == "v0.0.1"
+ assert be.branch == "v0.0.1"
assert be.version == "0.0.1"
assert be.upload_dir == "0.0.1"
assert be.docker_tag == "mitmproxy/mitmproxy:0.0.1"
assert be.should_upload_pypi
assert be.should_upload_docker
assert be.is_prod_release
+ assert not be.is_maintenance_branch
+
+
+def test_buildenviron_namedtag():
+ # Simulates a non-release tag on a branch.
+ be = cibuild.BuildEnviron(
+ system="Linux",
+ root_dir="/foo",
+ travis_tag="anyname",
+ travis_branch="anyname",
+ should_build_wheel=True,
+ should_build_docker=True,
+ should_build_pyinstaller=True,
+ has_twine_creds=True,
+ docker_username="foo",
+ docker_password="bar",
+ )
+ assert be.tag == "anyname"
+ assert be.branch == "anyname"
+ assert be.version == "anyname"
+ assert be.upload_dir == "anyname"
+ assert be.docker_tag == "mitmproxy/mitmproxy:anyname"
+ assert not be.should_upload_pypi
+ assert not be.should_upload_docker
+ assert not be.is_prod_release
+ assert not be.is_maintenance_branch
-def test_buildenviron_branch():
- # Simulates a development branch on the main repo
+def test_buildenviron_dev_branch():
+ # Simulates a commit on a development branch on the main repo
be = cibuild.BuildEnviron(
system="Linux",
root_dir="/foo",
@@ -121,6 +157,30 @@ def test_buildenviron_branch():
assert be.upload_dir == "branches/mybranch"
assert not be.should_upload_pypi
assert not be.should_upload_docker
+ assert not be.is_maintenance_branch
+
+
+def test_buildenviron_maintenance_branch():
+ # Simulates a commit on a release maintenance branch on the main repo
+ be = cibuild.BuildEnviron(
+ system="Linux",
+ root_dir="/foo",
+ travis_tag="",
+ travis_branch="v0.x",
+ should_build_wheel=True,
+ should_build_docker=True,
+ should_build_pyinstaller=True,
+ has_twine_creds=True,
+ docker_username="foo",
+ docker_password="bar",
+ )
+ assert be.tag == ""
+ assert be.branch == "v0.x"
+ assert be.version == "v0.x"
+ assert be.upload_dir == "branches/v0.x"
+ assert not be.should_upload_pypi
+ assert not be.should_upload_docker
+ assert be.is_maintenance_branch
def test_buildenviron_osx(tmpdir):
@@ -128,7 +188,7 @@ def test_buildenviron_osx(tmpdir):
system="Darwin",
root_dir="/foo",
travis_tag="0.0.1",
- travis_branch="v0.x",
+ travis_branch="0.0.1",
)
assert be.platform_tag == "osx"
assert be.bdists == {
@@ -146,8 +206,8 @@ def test_buildenviron_windows(tmpdir):
be = cibuild.BuildEnviron(
system="Windows",
root_dir="/foo",
- travis_tag="0.0.1",
- travis_branch="v0.x",
+ travis_tag="v0.0.1",
+ travis_branch="v0.0.1",
)
assert be.platform_tag == "windows"
assert be.bdists == {
@@ -163,18 +223,21 @@ def test_buildenviron_windows(tmpdir):
@pytest.mark.parametrize("version, tag, ok", [
("3.0.0.dev", "", True), # regular snapshot
- ("3.0.0.dev", "3.0.0", False), # forgot to remove ".dev" on bump
+ ("3.0.0.dev", "v3.0.0", False), # forgot to remove ".dev" on bump
("3.0.0", "", False), # forgot to re-add ".dev"
- ("3.0.0", "4.0.0", False), # version mismatch
- ("3.0.0", "3.0.0", True), # regular release
- ("3.0.0.rc1", "3.0.0.rc1", False), # non-canonical.
+ ("3.0.0", "v4.0.0", False), # version mismatch
+ ("3.0.0", "v3.0.0", True), # regular release
+ ("3.0.0.rc1", "v3.0.0.rc1", False), # non-canonical.
+ ("3.0.0.dev", "anyname", True), # tagged test/dev release
+ ("3.0.0", "3.0.0", False), # tagged, but without v prefix
])
def test_buildenviron_check_version(version, tag, ok, tmpdir):
tmpdir.mkdir("mitmproxy").join("version.py").write(f'VERSION = "{version}"')
be = cibuild.BuildEnviron(
root_dir=tmpdir,
- travis_tag=tag
+ travis_tag=tag,
+ travis_branch=tag or "branch",
)
if ok:
be.check_version()