Skip to content

Commit 4304de8

Browse files
committed
CI: fixes for copr build, added local test to makefile
1 parent 0860b1a commit 4304de8

34 files changed

+306
-477
lines changed

rpm/Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,15 @@ srpm: all
3636

3737
clean:
3838
rm -rf *.src.rpm *.tar.gz *.spec noarch
39+
40+
test: tarball python3-badfish.spec
41+
@echo "Moving tarball to rpmbuild/SOURCES directory"
42+
mkdir -p ~/rpmbuild/SOURCES
43+
cp $(TARBALL) ~/rpmbuild/SOURCES/
44+
@echo "Tarball $(TARBALL) successfully moved to rpmbuild/SOURCES"
45+
@echo "Building source RPM from spec file"
46+
SRPM_PATH=$$(rpmbuild -bs python3-badfish.spec | grep "Wrote:" | cut -d' ' -f2) && \
47+
echo "Source RPM build completed: $$SRPM_PATH" && \
48+
echo "Running mock build with the generated SRPM" && \
49+
mock -r fedora-rawhide-x86_64 -n $$SRPM_PATH && \
50+
echo "Mock build completed successfully"

rpm/python3-badfish.spec.tpl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ BuildRequires: %{py3_dist setuptools}
2121
BuildRequires: %{py3_dist pip}
2222
BuildRequires: python3-devel
2323
BuildRequires: zlib-devel
24+
%generate_buildrequires
25+
%pyproject_buildrequires -t
2426

2527
%description
2628
%{desc}
@@ -35,6 +37,9 @@ BuildRequires: zlib-devel
3537
%install
3638
%py3_install
3739

40+
%check
41+
%tox
42+
3843
%files -n %{name}
3944
%doc README.md
4045
%license LICENSE
@@ -45,6 +50,3 @@ BuildRequires: zlib-devel
4550
%changelog
4651
* @DATE@ Gonzalo Rafuls <gonza@redhat.com> - @VERSION@-@RELEASE@
4752
- built from upstream, changelog ignored
48-
49-
%check
50-
%{__python3} -m pytest tests/

setup.cfg

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ url = https://github.com/redhat-performance/badfish
1212
classifiers =
1313
Development Status :: 5 - Production/Stable
1414
Programming Language :: Python :: 3
15-
License :: OSI Approved :: GNU General Public License v3 (GPLv3)
1615
Operating System :: OS Independent
1716
Programming Language :: Python :: 3
1817
Programming Language :: Python :: 3.7
@@ -42,9 +41,6 @@ where = src
4241
[sdist]
4342
formats = gztar
4443

45-
[bdist_wheel]
46-
universal = true
47-
4844
[options.entry_points]
4945
console_scripts =
5046
badfish = badfish.main:main

tests/test-requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
## pip install --requirement=test-requirements.txt
44
##
55

6-
pytest==6.2.5
7-
pytest-cov==3.0.0
8-
codecov==2.1.13
9-
asynctest==0.13.0
6+
pytest>=6.2.5
7+
pytest-cov>=3.0.0
8+
codecov>=2.1.12
9+
pytest-asyncio>=0.23
1010
pyyaml>=3.10
1111
aiohttp>=3.7.4
1212
tox>=4.8.0

tests/test_base.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import sys
2+
from unittest.mock import AsyncMock, MagicMock, PropertyMock, patch
23

34
import pytest
4-
from asynctest import CoroutineMock, PropertyMock, MagicMock
55
from aiohttp import web
66
from aiohttp.test_utils import AioHTTPTestCase
7-
from asynctest import patch
87

9-
from src.badfish.main import main, BadfishException
8+
from src.badfish.main import BadfishException, main
109
from tests import config
1110

1211

@@ -30,13 +29,13 @@ def set_mock_response(mock, status, responses, post=False, headers=None):
3029
mock.return_value.__aenter__.return_value = status_mock
3130
else:
3231
mock.return_value.__aenter__.return_value.status = status
33-
mock.return_value.__aenter__.return_value.read = CoroutineMock()
32+
mock.return_value.__aenter__.return_value.read = AsyncMock()
3433
if type(responses) == list:
35-
mock.return_value.__aenter__.return_value.text = CoroutineMock(
34+
mock.return_value.__aenter__.return_value.text = AsyncMock(
3635
side_effect=responses
3736
)
3837
else:
39-
mock.return_value.__aenter__.return_value.text = CoroutineMock(
38+
mock.return_value.__aenter__.return_value.text = AsyncMock(
4039
return_value=responses
4140
)
4241
if headers is not None:
@@ -88,4 +87,4 @@ async def __aexit__(self, exc_type, exc, tb):
8887
pass
8988

9089
async def __aenter__(self):
91-
return self
90+
return self

tests/test_bios_attributes.py

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,11 @@
1-
from asynctest import patch
2-
from tests.config import (
3-
INIT_RESP,
4-
STATE_ON_RESP,
5-
JOB_OK_RESP,
6-
RESET_TYPE_RESP,
7-
ATTRIBUTE_OK,
8-
ATTRIBUTE_BAD,
9-
ATTR_VALUE_OK,
10-
ATTR_VALUE_BAD,
11-
BIOS_REGISTRY_OK,
12-
BIOS_RESPONSE_DIS,
13-
BIOS_SET_OK,
14-
BIOS_RESPONSE_OK,
15-
BIOS_GET_ALL_OK,
16-
BIOS_GET_ONE_OK,
17-
BIOS_GET_ONE_BAD,
18-
BIOS_SET_BAD_VALUE,
19-
BIOS_SET_BAD_ATTR,
20-
)
1+
from unittest.mock import patch
2+
3+
from tests.config import (ATTR_VALUE_BAD, ATTR_VALUE_OK, ATTRIBUTE_BAD,
4+
ATTRIBUTE_OK, BIOS_GET_ALL_OK, BIOS_GET_ONE_BAD,
5+
BIOS_GET_ONE_OK, BIOS_REGISTRY_OK, BIOS_RESPONSE_DIS,
6+
BIOS_RESPONSE_OK, BIOS_SET_BAD_ATTR,
7+
BIOS_SET_BAD_VALUE, BIOS_SET_OK, INIT_RESP,
8+
JOB_OK_RESP, RESET_TYPE_RESP, STATE_ON_RESP)
219
from tests.test_base import TestBase
2210

2311

tests/test_bios_password.py

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,15 @@
1-
from asynctest import patch
2-
from tests.config import (
3-
INIT_RESP,
4-
BLANK_RESP,
5-
JOB_OK_RESP,
6-
TASK_OK_RESP,
7-
RESET_TYPE_RESP,
8-
BIOS_PASS_SET_GOOD,
9-
BIOS_PASS_RM_GOOD,
10-
BIOS_PASS_RM_MISS_ARG,
11-
BIOS_PASS_SET_MISS_ARG,
12-
STATE_OFF_RESP,
13-
BIOS_PASS_CHANGE_NOT_SUPPORTED,
14-
BIOS_PASS_CHANGE_CMD_FAILED,
15-
BIOS_PASS_SET_CHECK_JOB_STATUS_BAD_CODE,
16-
CHECK_JOB_STATUS_FAIL_MSG,
17-
CHECK_JOB_STATUS_UNEXPECTED_MSG_CONTENT,
18-
BIOS_PASS_SET_CHECK_JOB_STATUS_FAIL_MSG,
19-
)
1+
from unittest.mock import patch
2+
3+
from tests.config import (BIOS_PASS_CHANGE_CMD_FAILED,
4+
BIOS_PASS_CHANGE_NOT_SUPPORTED, BIOS_PASS_RM_GOOD,
5+
BIOS_PASS_RM_MISS_ARG,
6+
BIOS_PASS_SET_CHECK_JOB_STATUS_BAD_CODE,
7+
BIOS_PASS_SET_CHECK_JOB_STATUS_FAIL_MSG,
8+
BIOS_PASS_SET_GOOD, BIOS_PASS_SET_MISS_ARG,
9+
BLANK_RESP, CHECK_JOB_STATUS_FAIL_MSG,
10+
CHECK_JOB_STATUS_UNEXPECTED_MSG_CONTENT, INIT_RESP,
11+
JOB_OK_RESP, RESET_TYPE_RESP, STATE_OFF_RESP,
12+
TASK_OK_RESP)
2013
from tests.test_base import TestBase
2114

2215

tests/test_boot_to.py

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,12 @@
1-
from asynctest import patch
2-
from tests.config import (
3-
BOOT_SEQ_RESPONSE_DIRECTOR,
4-
DEVICE_NIC_2,
5-
RESPONSE_BOOT_TO,
6-
BAD_DEVICE_NAME,
7-
ERROR_DEV_NO_MATCH,
8-
BOOT_SEQ_RESP,
9-
BOOT_MODE_RESP,
10-
INIT_RESP,
11-
BLANK_RESP,
12-
JOB_OK_RESP,
13-
RESPONSE_BOOT_TO_SERVICE_UNAVAILABLE,
14-
RESET_TYPE_RESP,
15-
RESPONSE_BOOT_TO_SERVICE_BAD_REQUEST,
16-
STATE_ON_RESP,
17-
RESPONSE_BOOT_TO_SERVICE_ERR_HANDLER,
18-
)
1+
from unittest.mock import patch
2+
3+
from tests.config import (BAD_DEVICE_NAME, BLANK_RESP, BOOT_MODE_RESP,
4+
BOOT_SEQ_RESP, BOOT_SEQ_RESPONSE_DIRECTOR,
5+
DEVICE_NIC_2, ERROR_DEV_NO_MATCH, INIT_RESP,
6+
JOB_OK_RESP, RESET_TYPE_RESP, RESPONSE_BOOT_TO,
7+
RESPONSE_BOOT_TO_SERVICE_BAD_REQUEST,
8+
RESPONSE_BOOT_TO_SERVICE_ERR_HANDLER,
9+
RESPONSE_BOOT_TO_SERVICE_UNAVAILABLE, STATE_ON_RESP)
1910
from tests.test_base import TestBase
2011

2112

tests/test_boot_to_mac.py

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,10 @@
1-
from asynctest import patch
2-
from tests.config import (
3-
BOOT_SEQ_RESPONSE_DIRECTOR,
4-
RESPONSE_BOOT_TO,
5-
BOOT_SEQ_RESP,
6-
BOOT_MODE_RESP,
7-
INIT_RESP,
8-
BLANK_RESP,
9-
JOB_OK_RESP,
10-
INTERFACES_PATH,
11-
ETHERNET_INTERFACES_RESP,
12-
INTERFACES_RESP,
13-
MAC_ADDRESS,
14-
RESPONSE_BOOT_TO_BAD_MAC,
15-
)
1+
from unittest.mock import patch
2+
3+
from tests.config import (BLANK_RESP, BOOT_MODE_RESP, BOOT_SEQ_RESP,
4+
BOOT_SEQ_RESPONSE_DIRECTOR, ETHERNET_INTERFACES_RESP,
5+
INIT_RESP, INTERFACES_PATH, INTERFACES_RESP,
6+
JOB_OK_RESP, MAC_ADDRESS, RESPONSE_BOOT_TO,
7+
RESPONSE_BOOT_TO_BAD_MAC)
168
from tests.test_base import TestBase
179

1810

tests/test_boot_to_type.py

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
1-
from asynctest import patch
2-
from tests.config import (
3-
BOOT_SEQ_RESPONSE_DIRECTOR,
4-
RESPONSE_BOOT_TO,
5-
BOOT_SEQ_RESP,
6-
BOOT_MODE_RESP,
7-
INIT_RESP,
8-
BLANK_RESP,
9-
JOB_OK_RESP,
10-
INTERFACES_PATH,
11-
RESET_TYPE_RESP,
12-
STATE_ON_RESP,
13-
RESPONSE_BOOT_TO_BAD_TYPE,
14-
RESPONSE_BOOT_TO_BAD_FILE,
15-
RESPONSE_BOOT_TO_NO_FILE,
16-
)
1+
from unittest.mock import patch
2+
3+
from tests.config import (BLANK_RESP, BOOT_MODE_RESP, BOOT_SEQ_RESP,
4+
BOOT_SEQ_RESPONSE_DIRECTOR, INIT_RESP,
5+
INTERFACES_PATH, JOB_OK_RESP, RESET_TYPE_RESP,
6+
RESPONSE_BOOT_TO, RESPONSE_BOOT_TO_BAD_FILE,
7+
RESPONSE_BOOT_TO_BAD_TYPE, RESPONSE_BOOT_TO_NO_FILE,
8+
STATE_ON_RESP)
179
from tests.test_base import TestBase
1810

1911

0 commit comments

Comments
 (0)