Fix check_tests - and reduce what we test there
This commit is contained in:
parent
d014002bc3
commit
fd1871b99e
@ -5,132 +5,31 @@ from osclib.conf import Config
|
||||
from osclib.check_command import CheckCommand
|
||||
from osclib.stagingapi import StagingAPI
|
||||
|
||||
from lxml import etree
|
||||
from mock import MagicMock
|
||||
from . import OBSLocal
|
||||
|
||||
FULL_REPORT = """
|
||||
-- BUILDING Project openSUSE:Factory:Staging:A still needs attention
|
||||
- pcre: Missing reviews: repo-checker
|
||||
- At least following repositories are still building:
|
||||
standard/i586: building
|
||||
- Following packages are broken:
|
||||
installation-images:Kubic (standard): failed
|
||||
|
||||
-- TESTING Project openSUSE:Factory:Staging:B still needs attention
|
||||
- perl-File-Copy-Recursive: Missing reviews: repo-checker
|
||||
- Missing check: openqa:cryptlvm
|
||||
|
||||
-- BUILDING Project openSUSE:Factory:Staging:C still needs attention
|
||||
- perl: Missing reviews: repo-checker
|
||||
- At least following repositories are still building:
|
||||
standard/i586: building
|
||||
- Missing check: openqa:cryptlvm
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:D still needs attention
|
||||
- failure check: openqa:textmode https://openqa.opensuse.org/tests/790715#step/partitioning/2
|
||||
|
||||
++ Acceptable staging project openSUSE:Factory:Staging:E
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:F still needs attention
|
||||
- python-ceilometerclient: Missing reviews: repo-checker
|
||||
- Following packages are broken:
|
||||
dleyna-server (standard): unresolvable
|
||||
- pending check: openqa:textmode https://openqa.opensuse.org/tests/790912
|
||||
|
||||
-- UNACCEPTABLE Project openSUSE:Factory:Staging:adi:16 still needs attention
|
||||
- postfixadmin: declined
|
||||
- postfixadmin: Missing reviews: repo-checker
|
||||
|
||||
-- UNACCEPTABLE Project openSUSE:Factory:Staging:adi:17 still needs attention
|
||||
- cf-cli: declined
|
||||
- Following packages are broken:
|
||||
cf-cli:test (standard): failed
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:adi:35 still needs attention
|
||||
- checkpolicy: Missing reviews: repo-checker
|
||||
- Following packages are broken:
|
||||
checkpolicy (standard): unresolvable
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:adi:36 still needs attention
|
||||
- python-QtPy: Missing reviews: opensuse-review-team
|
||||
- Following packages are broken:
|
||||
python-QtPy (standard): failed
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:adi:38 still needs attention
|
||||
- lmms: Missing reviews: repo-checker
|
||||
- Following packages are broken:
|
||||
lmms (standard): unresolvable
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:adi:39 still needs attention
|
||||
- Following packages are broken:
|
||||
ocaml-extlib (standard): unresolvable
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:adi:40 still needs attention
|
||||
- apache2-mod_auth_openidc: Missing reviews: repo-checker
|
||||
- Following packages are broken:
|
||||
apache2-mod_auth_openidc (standard): unresolvable
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:adi:44 still needs attention
|
||||
- Following packages are broken:
|
||||
nut (standard): failed
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:adi:5 still needs attention
|
||||
- verilator: Missing reviews: opensuse-review-team
|
||||
- Following packages are broken:
|
||||
verilator (standard): unresolvable
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:adi:56 still needs attention
|
||||
- Following packages are broken:
|
||||
firehol (standard): unresolvable
|
||||
|
||||
-- UNACCEPTABLE Project openSUSE:Factory:Staging:adi:62 still needs attention
|
||||
- rubygem-passenger: declined
|
||||
- rubygem-passenger: Missing reviews: opensuse-review-team
|
||||
- Following packages are broken:
|
||||
rubygem-passenger (standard): failed
|
||||
|
||||
-- UNACCEPTABLE Project openSUSE:Factory:Staging:adi:65 still needs attention
|
||||
- python-easypysmb: declined
|
||||
- python-easypysmb: Missing reviews: opensuse-review-team
|
||||
|
||||
-- FAILED Project openSUSE:Factory:Staging:adi:67 still needs attention
|
||||
- cargo-vendor: Missing reviews: repo-checker
|
||||
- Following packages are broken:
|
||||
cargo-vendor (standard): unresolvable
|
||||
|
||||
-- UNACCEPTABLE Project openSUSE:Factory:Staging:adi:7 still needs attention
|
||||
- osslsigncode: declined
|
||||
- x86info: Missing reviews: opensuse-review-team
|
||||
"""
|
||||
|
||||
H_REPORT = """
|
||||
-- FAILED Project openSUSE:Factory:Staging:H still needs attention
|
||||
- failure check: openqa:textmode https://openqa.opensuse.org/tests/790715#step/partitioning/2
|
||||
- neon: Missing reviews: group:origin-reviewers
|
||||
- Following packages are broken:
|
||||
git (standard): unresolvable
|
||||
- failure check: openqa:kde https://openqa.opensuse.org/tests/1077669#step/dolphin/5
|
||||
"""
|
||||
|
||||
|
||||
class TestCheckCommand(unittest.TestCase):
|
||||
"""Tests CheckCommand."""
|
||||
|
||||
def setup_vcr(self):
|
||||
def test_check_command_single(self):
|
||||
"""Validate json conversion for a single project."""
|
||||
|
||||
wf = OBSLocal.StagingWorkflow()
|
||||
wf.create_staging('H')
|
||||
self.checkcommand = CheckCommand(wf.api)
|
||||
return wf
|
||||
|
||||
def test_check_command_all(self):
|
||||
"""Validate json conversion for all projects."""
|
||||
wf = self.setup_vcr()
|
||||
with open('tests/fixtures/project/staging_projects/openSUSE:Factory.json', encoding='utf-8') as f:
|
||||
wf.api.project_status = MagicMock(return_value=json.load(f))
|
||||
report = self.checkcommand._check_project()
|
||||
self.maxDiff = 20000
|
||||
self.assertMultiLineEqual('\n'.join(report).strip(), FULL_REPORT.strip())
|
||||
|
||||
def test_check_command_single(self):
|
||||
"""Validate json conversion for a single project."""
|
||||
wf = self.setup_vcr()
|
||||
with open('tests/fixtures/project/staging_projects/openSUSE:Factory/H.json', encoding='utf-8') as f:
|
||||
wf.api.project_status = MagicMock(return_value=json.load(f))
|
||||
report = self.checkcommand._check_project('H')
|
||||
with open('tests/fixtures/project/staging_projects/openSUSE:Factory/H.xml', encoding='utf-8') as f:
|
||||
xml = etree.fromstring(f.read())
|
||||
wf.api.project_status = MagicMock(return_value=xml)
|
||||
report = self.checkcommand._check_project('openSUSE:Factory:Staging:H')
|
||||
self.assertMultiLineEqual('\n'.join(report).strip(), H_REPORT.strip())
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
||||
{
|
||||
"overall_state": "acceptable"
|
||||
}
|
@ -1,143 +0,0 @@
|
||||
{
|
||||
"selected_requests" : [
|
||||
{
|
||||
"superseded_by" : null,
|
||||
"package" : "kernel-source",
|
||||
"project" : "openSUSE:Factory",
|
||||
"state" : "review",
|
||||
"approver" : null,
|
||||
"description" : "4.19 (let's not supersede 4.18.16 to have this pending as I assume there will be some problems in staging again)",
|
||||
"id" : 1152735,
|
||||
"updated_at" : "2018-11-02T04:26:34.024Z",
|
||||
"request_type" : "submit",
|
||||
"superseded_by_id" : null,
|
||||
"priority" : "moderate",
|
||||
"accept_at" : null,
|
||||
"creator" : "jirislaby",
|
||||
"number" : 643881,
|
||||
"created_at" : "2018-10-23T06:31:44.000Z",
|
||||
"updated_when" : "2018-11-02T04:26:34.024Z"
|
||||
}
|
||||
],
|
||||
"obsolete_requests" : [],
|
||||
"broken_packages" : [],
|
||||
"missing_checks" : [],
|
||||
"name" : "openSUSE:Factory:Staging:H",
|
||||
"checks" : [
|
||||
{
|
||||
"short_description" : null,
|
||||
"name" : "openqa:minimalx@64bit",
|
||||
"updated_at" : "2018-11-09T13:47:06.000Z",
|
||||
"state" : "success",
|
||||
"id" : 3906,
|
||||
"created_at" : "2018-11-09T12:53:23.000Z",
|
||||
"status_reports_id" : 411,
|
||||
"url" : "https://openqa.opensuse.org/tests/790707"
|
||||
},
|
||||
{
|
||||
"state" : "success",
|
||||
"id" : 3909,
|
||||
"updated_at" : "2018-11-09T12:56:00.000Z",
|
||||
"status_reports_id" : 411,
|
||||
"url" : "https://openqa.opensuse.org/tests/790708",
|
||||
"created_at" : "2018-11-09T12:53:23.000Z",
|
||||
"short_description" : null,
|
||||
"name" : "openqa:rescue_system"
|
||||
},
|
||||
{
|
||||
"short_description" : null,
|
||||
"name" : "openqa:minimalx@uefi-staging",
|
||||
"created_at" : "2018-11-09T12:53:23.000Z",
|
||||
"status_reports_id" : 411,
|
||||
"url" : "https://openqa.opensuse.org/tests/790709",
|
||||
"updated_at" : "2018-11-09T13:47:31.000Z",
|
||||
"state" : "success",
|
||||
"id" : 3912
|
||||
},
|
||||
{
|
||||
"short_description" : null,
|
||||
"name" : "openqa:RAID0",
|
||||
"status_reports_id" : 411,
|
||||
"url" : "https://openqa.opensuse.org/tests/790710",
|
||||
"created_at" : "2018-11-09T12:53:23.000Z",
|
||||
"state" : "success",
|
||||
"id" : 3915,
|
||||
"updated_at" : "2018-11-09T13:32:09.000Z"
|
||||
},
|
||||
{
|
||||
"updated_at" : "2018-11-09T13:51:17.000Z",
|
||||
"state" : "success",
|
||||
"id" : 3918,
|
||||
"created_at" : "2018-11-09T12:53:24.000Z",
|
||||
"status_reports_id" : 411,
|
||||
"url" : "https://openqa.opensuse.org/tests/790711",
|
||||
"short_description" : null,
|
||||
"name" : "openqa:cryptlvm"
|
||||
},
|
||||
{
|
||||
"url" : "https://openqa.opensuse.org/tests/790712",
|
||||
"status_reports_id" : 411,
|
||||
"created_at" : "2018-11-09T12:53:25.000Z",
|
||||
"id" : 3921,
|
||||
"state" : "success",
|
||||
"updated_at" : "2018-11-09T14:02:05.000Z",
|
||||
"name" : "openqa:gnome",
|
||||
"short_description" : null
|
||||
},
|
||||
{
|
||||
"short_description" : null,
|
||||
"name" : "openqa:kde@64bit",
|
||||
"updated_at" : "2018-11-09T14:22:48.000Z",
|
||||
"state" : "success",
|
||||
"id" : 3924,
|
||||
"created_at" : "2018-11-09T12:53:25.000Z",
|
||||
"status_reports_id" : 411,
|
||||
"url" : "https://openqa.opensuse.org/tests/790713"
|
||||
},
|
||||
{
|
||||
"created_at" : "2018-11-09T12:53:25.000Z",
|
||||
"url" : "https://openqa.opensuse.org/tests/790714",
|
||||
"status_reports_id" : 411,
|
||||
"updated_at" : "2018-11-09T14:21:51.000Z",
|
||||
"id" : 3927,
|
||||
"state" : "success",
|
||||
"name" : "openqa:kde@USBboot_64",
|
||||
"short_description" : null
|
||||
},
|
||||
{
|
||||
"id" : 3930,
|
||||
"state" : "failure",
|
||||
"updated_at" : "2018-11-09T13:09:16.000Z",
|
||||
"url" : "https://openqa.opensuse.org/tests/790715#step/partitioning/2",
|
||||
"status_reports_id" : 411,
|
||||
"created_at" : "2018-11-09T12:53:26.000Z",
|
||||
"name" : "openqa:textmode",
|
||||
"short_description" : null
|
||||
},
|
||||
{
|
||||
"short_description" : null,
|
||||
"name" : "openqa:update_staging",
|
||||
"state" : "success",
|
||||
"id" : 3933,
|
||||
"updated_at" : "2018-11-09T13:39:36.000Z",
|
||||
"status_reports_id" : 411,
|
||||
"url" : "https://openqa.opensuse.org/tests/790716",
|
||||
"created_at" : "2018-11-09T12:53:26.000Z"
|
||||
},
|
||||
{
|
||||
"name" : "openqa:RAID1",
|
||||
"short_description" : null,
|
||||
"created_at" : "2018-11-09T12:53:26.000Z",
|
||||
"url" : "https://openqa.opensuse.org/tests/790717",
|
||||
"status_reports_id" : 411,
|
||||
"updated_at" : "2018-11-09T14:12:49.000Z",
|
||||
"id" : 3936,
|
||||
"state" : "success"
|
||||
}
|
||||
],
|
||||
"untracked_requests" : [],
|
||||
"missing_reviews" : [],
|
||||
"overall_state" : "failed",
|
||||
"description" : "requests:\n- {author: jirislaby, id: 643881, package: kernel-source, type: submit}\nrequests_comment: 21343\nsplitter_info:\n activated: '2018-10-23 06:12:35.646967'\n group: kernel-source\n strategy: {name: special}\n",
|
||||
"building_repositories" : []
|
||||
}
|
92
tests/fixtures/project/staging_projects/openSUSE:Factory/H.xml
vendored
Normal file
92
tests/fixtures/project/staging_projects/openSUSE:Factory/H.xml
vendored
Normal file
@ -0,0 +1,92 @@
|
||||
<staging_project name="openSUSE:Factory:Staging:H" state="failed">
|
||||
<staged_requests count="16">
|
||||
<request id="730409" type="submit" creator="vitezslav_cizek" state="review" package="thrift" superseded_by="" updated="2019-11-18T14:41:30Z"/>
|
||||
<request id="731558" type="submit" creator="lnussel_factory" state="review" package="neon" superseded_by="" updated="2019-11-18T14:41:35Z"/>
|
||||
<request id="731559" type="submit" creator="lnussel_factory" state="review" package="mysql-connector-cpp" superseded_by="" updated="2019-11-18T14:41:39Z"/>
|
||||
<request id="731560" type="submit" creator="lnussel_factory" state="review" package="openslp" superseded_by="" updated="2019-11-18T14:41:44Z"/>
|
||||
<request id="731562" type="submit" creator="lnussel_factory" state="review" package="apr-util" superseded_by="" updated="2019-11-18T14:41:53Z"/>
|
||||
<request id="733184" type="submit" creator="lnussel_factory" state="review" package="perl-Net-SSLeay" superseded_by="" updated="2019-11-18T14:41:57Z"/>
|
||||
<request id="733185" type="submit" creator="lnussel_factory" state="review" package="perl-IO-Socket-SSL" superseded_by="" updated="2019-11-18T14:42:02Z"/>
|
||||
<request id="733186" type="submit" creator="lnussel_factory" state="review" package="python-cryptography" superseded_by="" updated="2019-11-18T14:42:09Z"/>
|
||||
<request id="733193" type="submit" creator="lnussel_factory" state="review" package="python-M2Crypto" superseded_by="" updated="2019-11-18T14:42:14Z"/>
|
||||
<request id="733202" type="submit" creator="lnussel_factory" state="review" package="fipscheck" superseded_by="" updated="2019-11-18T14:42:21Z"/>
|
||||
<request id="737629" type="submit" creator="origin-manager" state="review" package="python-pyOpenSSL" superseded_by="" updated="2019-11-18T14:42:26Z"/>
|
||||
<request id="744011" type="submit" creator="origin-manager" state="review" package="python3" superseded_by="" updated="2019-11-18T14:42:31Z"/>
|
||||
<request id="745363" type="submit" creator="lnussel" state="review" package="nodejs8" superseded_by="" updated="2019-11-18T14:42:38Z"/>
|
||||
<request id="745371" type="submit" creator="lnussel" state="review" package="postfix" superseded_by="" updated="2019-11-18T14:42:44Z"/>
|
||||
<request id="745542" type="submit" creator="lnussel_factory" state="review" package="python" superseded_by="" updated="2019-11-18T14:42:50Z"/>
|
||||
<request id="746554" type="submit" creator="origin-manager" state="review" package="git" superseded_by="" updated="2019-11-18T14:42:58Z"/>
|
||||
</staged_requests>
|
||||
<untracked_requests count="0"/>
|
||||
<obsolete_requests count="0"/>
|
||||
<missing_reviews count="12">
|
||||
<review request="731558" state="new" package="neon" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="731559" state="new" package="mysql-connector-cpp" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="731560" state="new" package="openslp" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="731562" state="new" package="apr-util" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="733184" state="new" package="perl-Net-SSLeay" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="733185" state="new" package="perl-IO-Socket-SSL" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="733186" state="new" package="python-cryptography" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="733193" state="new" package="python-M2Crypto" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="733202" state="new" package="fipscheck" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="745363" state="new" package="nodejs8" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="745371" state="new" package="postfix" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
<review request="745542" state="new" package="python" creator="origin-manager" by_group="origin-reviewers"/>
|
||||
</missing_reviews>
|
||||
<building_repositories count="0"/>
|
||||
<broken_packages count="5">
|
||||
<package package="git" project="openSUSE:Factory:Staging:H" state="unresolvable" repository="standard" arch="i586"/>
|
||||
<package package="python-CherryPy" project="openSUSE:Factory:Staging:H" state="failed" repository="standard" arch="i586"/>
|
||||
<package package="python-pep8" project="openSUSE:Factory:Staging:H" state="failed" repository="standard" arch="x86_64"/>
|
||||
<package package="python3-doc" project="openSUSE:Factory:Staging:H" state="failed" repository="standard" arch="x86_64"/>
|
||||
<package package="000product:openSUSE-dvd5-dvd-x86_64" project="openSUSE:Factory:Staging:H" state="failed" repository="images" arch="x86_64"/>
|
||||
</broken_packages>
|
||||
<checks count="9">
|
||||
<check name="openqa:RAID1" required="false">
|
||||
<state>success</state>
|
||||
<short_description/>
|
||||
<url>https://openqa.opensuse.org/tests/1077663</url>
|
||||
</check>
|
||||
<check name="openqa:minimalx@smp_64" required="false">
|
||||
<state>success</state>
|
||||
<short_description/>
|
||||
<url>https://openqa.opensuse.org/tests/1077664</url>
|
||||
</check>
|
||||
<check name="openqa:rescue_system" required="false">
|
||||
<state>success</state>
|
||||
<short_description/>
|
||||
<url>https://openqa.opensuse.org/tests/1077665</url>
|
||||
</check>
|
||||
<check name="openqa:cryptlvm" required="true">
|
||||
<state>success</state>
|
||||
<short_description/>
|
||||
<url>https://openqa.opensuse.org/tests/1077666</url>
|
||||
</check>
|
||||
<check name="openqa:minimalx@uefi-staging" required="false">
|
||||
<state>success</state>
|
||||
<short_description/>
|
||||
<url>https://openqa.opensuse.org/tests/1077667</url>
|
||||
</check>
|
||||
<check name="openqa:gnome" required="false">
|
||||
<state>success</state>
|
||||
<short_description/>
|
||||
<url>https://openqa.opensuse.org/tests/1077668</url>
|
||||
</check>
|
||||
<check name="openqa:kde" required="false">
|
||||
<state>failure</state>
|
||||
<short_description/>
|
||||
<url>https://openqa.opensuse.org/tests/1077669#step/dolphin/5</url>
|
||||
</check>
|
||||
<check name="openqa:textmode" required="false">
|
||||
<state>success</state>
|
||||
<short_description/>
|
||||
<url>https://openqa.opensuse.org/tests/1077670</url>
|
||||
</check>
|
||||
<check name="installcheck" required="true">
|
||||
<state>success</state>
|
||||
<short_description/>
|
||||
<url>https://botmaster.suse.de/go/tab/build/detail/Leap.Staging.B/23/Checks/1/Repo.Checker#tab-console</url>
|
||||
</check>
|
||||
</checks>
|
||||
<missing_checks count="0"/>
|
||||
</staging_project>
|
Loading…
x
Reference in New Issue
Block a user