File: test_coverup_72.py

package info (click to toggle)
scalene 1.5.51-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 15,528 kB
  • sloc: cpp: 22,930; python: 13,403; javascript: 11,769; ansic: 817; makefile: 196; sh: 45
file content (32 lines) | stat: -rw-r--r-- 967 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# file scalene/launchbrowser.py:84-96
# lines [84, 91, 92, 93, 94, 95, 96]
# branches []

import socket
import pytest
from scalene.launchbrowser import is_port_available

@pytest.fixture
def free_port():
    """Find a free port for testing."""
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind(('', 0))
        return s.getsockname()[1]

@pytest.fixture
def occupied_port():
    """Create and occupy a port for testing."""
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(('', 0))
    port = s.getsockname()[1]
    s.listen(1)
    yield port
    s.close()

def test_is_port_available_with_free_port(free_port):
    """Test that is_port_available returns True for a free port."""
    assert is_port_available(free_port) == True

def test_is_port_available_with_occupied_port(occupied_port):
    """Test that is_port_available returns False for an occupied port."""
    assert is_port_available(occupied_port) == False