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
mprokop/trixie
Victor Seva 2 years ago
parent 222a9ede9b
commit 21803cf66d

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

@ -73,9 +73,20 @@ class BuildReleaseManagerTestCase(BaseTest):
def test_create_mrXX_update_building(self, dlf): def test_create_mrXX_update_building(self, dlf):
"""mr8.1 is building, don't allow a new build""" """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") 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): def test_create_mrXX_update(self, dlf):
set_build_done(BuildRelease.objects.filter(release="release-mr8.1")) set_build_done(BuildRelease.objects.filter(release="release-mr8.1"))
br = BuildRelease.objects.create_build_release("AAA", "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 django.test import SimpleTestCase
from build.conf import settings from build.conf import settings
from build.exceptions import PreviousBuildNotDone
from build.models import BuildRelease from build.models import BuildRelease
from build.models import ReleaseConfig from build.models import ReleaseConfig
from build.utils import get_simple_release from build.utils import get_simple_release
@ -44,6 +45,12 @@ class BuildReleaseTestCase(BaseTest):
self.assertEqual(br.release, "trunk-next") self.assertEqual(br.release, "trunk-next")
self.assertEqual(br.build_release, "trunk") 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( @override_settings(
BUILD_REPOS_SCRIPTS_CONFIG_DIR=FIXTURES_PATH.joinpath("config.next"), BUILD_REPOS_SCRIPTS_CONFIG_DIR=FIXTURES_PATH.joinpath("config.next"),

Loading…
Cancel
Save