Code Duplication    Length = 21-24 lines in 2 locations

tests/test_redis_lock.py 2 locations

@@ 480-503 (lines=24) @@
477
    assert unblocked.value == 1
478
479
480
def test_reset_all_signalizes(make_conn, make_process):
481
    """Call to reset_all() causes LPUSH to all signal keys, so blocked waiters
482
    become unblocked."""
483
    def workerfn(unblocked):
484
        conn = make_conn()
485
        lock1 = Lock(conn, 'lock1')
486
        lock2 = Lock(conn, 'lock2')
487
        if lock1.acquire() and lock2.acquire():
488
            unblocked.value = 1
489
490
    unblocked = multiprocessing.Value('B', 0)
491
    conn = make_conn()
492
    lock1 = Lock(conn, 'lock1')
493
    lock2 = Lock(conn, 'lock2')
494
    lock1.acquire()
495
    lock2.acquire()
496
497
    worker = make_process(target=workerfn, args=(unblocked,))
498
    worker.start()
499
    worker.join(0.5)
500
    reset_all(conn)
501
    worker.join(0.5)
502
503
    assert unblocked.value == 1
504
505
506
def test_auto_renewal_stops_after_gc(conn):
@@ 457-477 (lines=21) @@
454
    assert conn.llen('lock-signal:signal_expiration') == 0
455
456
457
def test_reset_signalizes(make_conn, make_process):
458
    """Call to reset() causes LPUSH to signal key, so blocked waiters
459
    become unblocked."""
460
    def workerfn(unblocked):
461
        conn = make_conn()
462
        lock = Lock(conn, 'lock')
463
        if lock.acquire():
464
            unblocked.value = 1
465
466
    unblocked = multiprocessing.Value('B', 0)
467
    conn = make_conn()
468
    lock = Lock(conn, 'lock')
469
    lock.acquire()
470
471
    worker = make_process(target=workerfn, args=(unblocked,))
472
    worker.start()
473
    worker.join(0.5)
474
    lock.reset()
475
    worker.join(0.5)
476
477
    assert unblocked.value == 1
478
479
480
def test_reset_all_signalizes(make_conn, make_process):