Code Duplication    Length = 21-24 lines in 2 locations

tests/test_redis_lock.py 2 locations

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