Esempio n. 1
0
def test_concurrency_options_max_disk_and_transfer_threads(patched_cc):
    a = options.Concurrency(
        crypto_processes=1,
        md5_processes=1,
        disk_threads=None,
        transfer_threads=None,
    )

    assert a.disk_threads == 64
    assert a.transfer_threads == 96

    a = options.Concurrency(
        crypto_processes=1,
        md5_processes=1,
        disk_threads=None,
        transfer_threads=None,
        action=1,
    )

    assert a.disk_threads == 16
    assert a.transfer_threads == 32

    a = options.Concurrency(
        crypto_processes=1,
        md5_processes=1,
        disk_threads=None,
        transfer_threads=None,
        action=3,
    )

    assert a.md5_processes == 0
    assert a.crypto_processes == 0
    assert a.disk_threads == 0
    assert a.transfer_threads == 96
Esempio n. 2
0
def test_general_options():
    a = options.General(
        concurrency=options.Concurrency(
            crypto_processes=1,
            md5_processes=2,
            disk_threads=3,
            transfer_threads=4,
        ),
        log_file='abc.log',
        progress_bar=False,
        resume_file='abc',
        timeout=options.Timeout(1, 2, None),
        quiet=True,
        dry_run=True,
        verbose=True,
    )

    assert a.concurrency.crypto_processes == 1
    assert a.concurrency.md5_processes == 2
    assert a.concurrency.disk_threads == 3
    assert a.concurrency.transfer_threads == 4
    assert a.log_file == 'abc.log'
    assert not a.progress_bar
    assert a.resume_file == pathlib.Path('abc')
    assert a.timeout.timeout == (1, 2)
    assert a.timeout.max_retries is None
    assert a.quiet
    assert a.dry_run
    assert a.verbose

    a = options.General(
        concurrency=options.Concurrency(
            crypto_processes=1,
            md5_processes=2,
            disk_threads=3,
            transfer_threads=4,
        ),
        progress_bar=False,
        resume_file=None,
        timeout=options.Timeout(2, 1, 0),
        verbose=True,
    )

    assert a.concurrency.crypto_processes == 1
    assert a.concurrency.md5_processes == 2
    assert a.concurrency.disk_threads == 3
    assert a.concurrency.transfer_threads == 4
    assert a.log_file is None
    assert not a.progress_bar
    assert a.resume_file is None
    assert a.timeout.timeout == (2, 1)
    assert a.timeout.max_retries == 0
    assert not a.quiet
    assert not a.dry_run
    assert a.verbose

    with pytest.raises(ValueError):
        a = options.General(None)
Esempio n. 3
0
def test_concurrency_options(patched_cc):
    a = options.Concurrency(
        crypto_processes=-1,
        md5_processes=0,
        disk_threads=-1,
        transfer_threads=-2,
    )

    assert a.crypto_processes == 0
    assert a.md5_processes == 1
    assert a.disk_threads == 2
    assert a.transfer_threads == 4

    a = options.Concurrency(
        crypto_processes=-1,
        md5_processes=0,
        disk_threads=1,
        transfer_threads=-1,
    )

    assert a.crypto_processes == 0
    assert a.md5_processes == 1
    assert a.disk_threads == 1
    assert a.transfer_threads == 4