File: test_coverup_12.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 (34 lines) | stat: -rw-r--r-- 1,234 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
33
34
# file scalene/scalene_jupyter.py:8-28
# lines [8, 9, 21, 22, 23, 24, 25, 26, 27, 28]
# branches ['21->22', '21->28']

import pytest
import socket
from scalene.scalene_jupyter import ScaleneJupyter

@pytest.fixture(scope="function")
def free_port():
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind(("", 0))
        return s.getsockname()[1]

@pytest.fixture(scope="function")
def occupied_port(free_port):
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind(("", free_port))
        yield free_port

def test_find_available_port(free_port):
    # Test that the function finds an available port
    port = ScaleneJupyter.find_available_port(free_port, free_port)
    assert port == free_port

def test_find_available_port_with_occupied_port(occupied_port):
    # Test that the function skips the occupied port and finds the next available one
    port = ScaleneJupyter.find_available_port(occupied_port, occupied_port + 1)
    assert port == occupied_port + 1

def test_no_available_ports(occupied_port):
    # Test that the function returns None when no ports are available
    port = ScaleneJupyter.find_available_port(occupied_port, occupied_port)
    assert port is None