def METHOD_NAME():
    """
    abort on error is True for this one
    """
    # Control time
    clock = Clock()
    worktracker = WorkTrackerThatFailsFor12HoursThenSucceeds(clock, False)
    seconds_per_step = 1200 # this can be anything.
    # The behavior we want to fix in production is equivalent to seconds_per_step = 1
    # This test does pass with that value but it takes awhile and makes a lot of log file
    # so lets go with 20 minute intervals
    # with a value of 1, we get this log output after 43201 cycles (12 hours and 1 second)
    # [test-logging#debug] 12 hour fail worktracker: attempts: 50, clock: 43201.0, work: 1
    def advance_one_cycle(_):
        clock.advance(seconds_per_step)
    def checkfailures(_):
        log(f"12 hour fail worktracker: attempts: {worktracker.attempts}, "
            f"clock: {worktracker.CLOCK.seconds()}, work: {worktracker.workdone}")
        assert worktracker.attempts <= (worktracker.CLOCK.seconds() / worktracker.INTERVAL_FLOOR) + 2  # account for the single instant retry
    def start():
        worktracker.start()
    d = threads.deferToThread(start)
    iterations = (60*60*12)+1  # 12 hours plus one second
    for i in range(0, iterations, seconds_per_step):
        d.addCallback(advance_one_cycle)
        d.addCallback(checkfailures)
    yield d
    assert worktracker.workdone