626f07efa6
test / integration-firecracker (pull_request) Failing after 5s
test / integration-docker (pull_request) Successful in 9s
tracker-policy-pr / check-pr (pull_request) Successful in 7s
test / unit (pull_request) Successful in 33s
test / coverage (pull_request) Failing after 27s
lint / lint (push) Failing after 42s
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
"""Tests for integration-test backend selection helpers."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
import unittest
|
|
from unittest.mock import patch
|
|
|
|
from tests._docker import skip_unless_docker_or_firecracker
|
|
|
|
|
|
class TestSkipUnlessDockerOrFirecracker(unittest.TestCase):
|
|
def test_firecracker_runs_when_docker_tests_are_disabled(self):
|
|
with patch.dict(
|
|
os.environ,
|
|
{"BOT_BOTTLE_BACKEND": "firecracker", "SKIP_DOCKER_TESTS": "1"},
|
|
clear=True,
|
|
):
|
|
decorated = skip_unless_docker_or_firecracker()(type("Case", (), {}))
|
|
|
|
self.assertFalse(getattr(decorated, "__unittest_skip__", False))
|
|
|
|
def test_non_firecracker_still_skips_when_docker_tests_are_disabled(self):
|
|
with patch.dict(
|
|
os.environ,
|
|
{"BOT_BOTTLE_BACKEND": "docker", "SKIP_DOCKER_TESTS": "1"},
|
|
clear=True,
|
|
):
|
|
decorated = skip_unless_docker_or_firecracker()(type("Case", (), {}))
|
|
|
|
self.assertTrue(decorated.__unittest_skip__)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|