MT#61223 build: fix UnboundLocalError

>             if not br.last().done:
>                 logger.info(f"release:{release} is already building")
> >               raise PreviousBuildNotDone(msg)
> E               UnboundLocalError: cannot access local variable 'msg' where it is not associated with a value

Change-Id: I4b50fc8f328c24e6bec5ef940d5d7f4d4732e89b
master
Victor Seva 6 months ago
parent 222a9ede9b
commit 21803cf66d

@ -66,8 +66,10 @@ class BuildReleaseManager(models.Manager):
f"set {release_ok} as release"
)
logger.info(msg)
else:
msg = f"release:{release} is already building"
if not br.last().done:
logger.info(f"release:{release} is already building")
logger.info(msg)
raise PreviousBuildNotDone(msg)
projects = ",".join(config.projects)
if fake:

@ -73,9 +73,20 @@ class BuildReleaseManagerTestCase(BaseTest):
def test_create_mrXX_update_building(self, dlf):
"""mr8.1 is building, don't allow a new build"""
with self.assertRaises(PreviousBuildNotDone):
with self.assertRaisesRegex(
PreviousBuildNotDone,
r"release\[mrX\.Y\]:mr8\.1 has already a build, "
r"set release-mr8\.1-update as release",
):
BuildRelease.objects.create_build_release("AAA", "mr8.1")
def test_create_trunk_building(self, _):
BuildRelease.objects.create_build_release("AAA", "trunk")
with self.assertRaisesRegex(
PreviousBuildNotDone, "release:trunk is already building"
):
BuildRelease.objects.create_build_release("BBB", "trunk")
def test_create_mrXX_update(self, dlf):
set_build_done(BuildRelease.objects.filter(release="release-mr8.1"))
br = BuildRelease.objects.create_build_release("AAA", "mr8.1")

@ -18,6 +18,7 @@ from django.test import override_settings
from django.test import SimpleTestCase
from build.conf import settings
from build.exceptions import PreviousBuildNotDone
from build.models import BuildRelease
from build.models import ReleaseConfig
from build.utils import get_simple_release
@ -44,6 +45,12 @@ class BuildReleaseTestCase(BaseTest):
self.assertEqual(br.release, "trunk-next")
self.assertEqual(br.build_release, "trunk")
def test_fail(self):
with self.assertRaisesRegex(
PreviousBuildNotDone, "release:trunk-next is already building"
):
BuildRelease.objects.create_build_release("AAA", "trunk-next")
@override_settings(
BUILD_REPOS_SCRIPTS_CONFIG_DIR=FIXTURES_PATH.joinpath("config.next"),

Loading…
Cancel
Save