Code Duplication    Length = 21-24 lines in 2 locations

tests/test_redis_lock.py 2 locations

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